Итак, я сделал одну программу с одним классом, содержащим несколько классов, но я подумал, что было бы более организованным разделить его на несколько программ, по одному для каждого подкласса. Будет ли это лучшим способом организовать мой код, и это повлияет на производительность или что-то еще?Вложенные классы в разные файлы с наследованием
И как я могу разделить этот код на два файла? Основная программа будет иметь класс Texty, и мне нужно каким-то образом включить класс String из другого файла, но вы не можете включать классы в Ruby, так как это можно сделать, сохраняя при этом наследование от Texty? И как мне получить доступ к переменной экземпляра @inst_var
из другого файла?
class Texty
def initialize
@inst_var = 0
end
def texty_method
puts 'Bar'
end
class String < Texty
def output(string)
puts string
end
end
end
Texty::String.new.output('Foo')
Вложенные классы, подобные этому, не создают каких-либо отношений между Texty и String. Вы можете вывести класс String (я бы выбрал другое имя для этого) в свой собственный файл, потребовать Texty прямо перед его объявлением и поддерживать тот же результат, который вы получаете сейчас. –
Ну ... Не совсем то же самое, потому что вы будете ссылаться на String за пределами пространства имен Texty, но я думаю, что вы получили картину. –
Могу ли я получить доступ к переменным экземпляра в Texty таким образом? (Из строки) –