Size: a a a

2020 January 22

Э

Эдем in RubyRush
источник

VV

Vadim Venediktov in RubyRush
Alexander Sanek
Надоела скучная работа, хочу пробовать новое
👍
источник

VV

Vadim Venediktov in RubyRush
Александр
Я на собеседовании в одной конторе, столкнулся с тем, что полностью все вопросы спрашивали из базы ХП :)
Хорошенько если проштудировать, то на уровень мидла с головой хватит. А может вполне и на сеньера :)
👍
источник

VV

Vadim Venediktov in RubyRush
𝓒𝓛𝓚
foo.instance_variable_set(:@bar, "baz")
Это тоже из чистого руби
источник

S

Sergey in RubyRush
𝓒𝓛𝓚
Вот в рельсах: "The :title after attr_reader is a symbol that represents the @title instance variable."
Как так?
У тебя есть @foo, а чтобы к ней обращаться по методу foo нужно его сгенерировать с помощью attr_reader
источник

𝓒

𝓒𝓛𝓚 in RubyRush
Sergey
У тебя есть @foo, а чтобы к ней обращаться по методу foo нужно его сгенерировать с помощью attr_reader
то есть в списке p obj.methods я увижу foo?
источник

S

Sergey in RubyRush
𝓒𝓛𝓚
то есть в списке p obj.methods я увижу foo?
да
источник

𝓒

𝓒𝓛𝓚 in RubyRush
Sergey
У тебя есть @foo, а чтобы к ней обращаться по методу foo нужно его сгенерировать с помощью attr_reader
а если не @foo, а просто foo какой будет attr_reader?
источник

S

Sergey in RubyRush
𝓒𝓛𝓚
а если не @foo, а просто foo какой будет attr_reader?
Так нельзя. поле класса через @ пишется
источник

𝓒

𝓒𝓛𝓚 in RubyRush
о как. а я думал это глобально модульные видимости такие
источник

S

Sergey in RubyRush
𝓒𝓛𝓚
о как. а я думал это глобально модульные видимости такие
Чтобы понять подробнее, можно погуглить про геттеры и сеттеры в Java
источник

𝓒

𝓒𝓛𝓚 in RubyRush
Sergey
Чтобы понять подробнее, можно погуглить про геттеры и сеттеры в Java
дык это-то знаю. они и в С++. Прям с языка снял про геттеры и сеттеры.  Их в руби синтаксисе так тактично обходят, что подозреваю ,что в руби и дженерики есть))
источник

S

Sergey in RubyRush
𝓒𝓛𝓚
дык это-то знаю. они и в С++. Прям с языка снял про геттеры и сеттеры.  Их в руби синтаксисе так тактично обходят, что подозреваю ,что в руби и дженерики есть))
В руби еще такое прикол, что всё объекты. Когда создаешь новый класс, то у Object создается константа с его именем
источник

𝓒

𝓒𝓛𝓚 in RubyRush
Sergey
В руби еще такое прикол, что всё объекты. Когда создаешь новый класс, то у Object создается константа с его именем
знаю. синглетон называется кажись
источник

А

Александр in RubyRush
так attr_reader - это же "синтаксический сахар". для гетера, attr_accessor - и геттер и сеттер обьявит. Можешь то же самое сделать без традиционным способом через def-ы.

attr_reader :foo

def foo
 @foo
end

attr_writer :foo

def foo=(arg)
 @foo = arg
end

просто attr_reader/writer/accessor "скрывают от тебя это / упрощают синтаксис"
источник

RM

R M in RubyRush
𝓒𝓛𝓚
а если не @foo, а просто foo какой будет attr_reader?
просто foo ты обозначишь в методе класса, например, но обратиться к нему из экземпляра класса не сможешь. Поле видимости локальной переменной это блок кода в котором она выполняется
источник

RM

R M in RubyRush
R M
просто foo ты обозначишь в методе класса, например, но обратиться к нему из экземпляра класса не сможешь. Поле видимости локальной переменной это блок кода в котором она выполняется
а когда attr_accessor делаешь то это всегда прописывание переменной класса или reader или writer
источник
2020 January 23

𝓒

𝓒𝓛𝓚 in RubyRush
Александр
так attr_reader - это же "синтаксический сахар". для гетера, attr_accessor - и геттер и сеттер обьявит. Можешь то же самое сделать без традиционным способом через def-ы.

attr_reader :foo

def foo
 @foo
end

attr_writer :foo

def foo=(arg)
 @foo = arg
end

просто attr_reader/writer/accessor "скрывают от тебя это / упрощают синтаксис"
"foo=(arg)" Что это ?
источник

АП

Алексей Печерский... in RubyRush
𝓒𝓛𝓚
"foo=(arg)" Что это ?
Def foo=(arg)
   @foo=arg
End

Если речь про это, то это метод описывает присваивание,  если в методе foo=(arg) вместо @foo=arg написать @foo = arg.to_i * 2,
А код в программе будет @foo=arg, при arg =2,
@foo будет равен 4
источник

АП

Алексей Печерский... in RubyRush
Так же можно изменить методы умножения, сравнения и т. п.
источник