• Self или @ для атрибута класса?

    @MisterMK Автор вопроса
    oh_shi, понял, спасибо за пояснение!
  • Self или @ для атрибута класса?

    @MisterMK Автор вопроса
    Спасибо за фидбэк!
    Насколько я понял, Вы имеете в виду использование инстанс переменных более предпочтительным, нежели аксессоров из-за невозможности напрямую обратиться к геттеру?
    Если это так, то ограничить доступ к инстанс переменным через инстанс класса можно при помощи метода private, иначе доступ можно получить при помощи методов instance_variable_get/set?
  • Self или @ для атрибута класса?

    @MisterMK Автор вопроса
    oh_shi, с этим ясно, спасибо!
    А по best practice каким образом лучше описывать атрибуты класса? Просто при помощи "@", даже если нет локальных переменных с тем же именем?
  • Self или @ для атрибута класса?

    @MisterMK Автор вопроса
    Спасибо за фидбэк!
    А если, скажем, будет другой метод в этом классе, в котором будет определена переменная dir, которая, в свою очередь, будет являться уже локальной, если не приписывать ей "@" или self.?
    class Log_parse
      def initialize
        # ...
      end
    
      def some_method
        dir = "some_str"
      end
    # ...
    end


    В данном случае, у нас :dir будет иметь то значение, какое мы указали в initialize.
    Также, насколько я понимаю, мы можем создать переменную экземпляра класса достаточно просто:
    class Some_class
      def some_method
        @some_instance_var = ""
      end
    end

    Но только в данном случае, конечно же, доступ к этой переменной можно будет получить, насколько мне известно, только при помощи методов instance_variable_get/set.
    Прошу поправить, если где-то просчитался))