Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
@#{method} #{ "||= #{options[:default]}" if options[:default] }attr_accessor :title, :default => "no title" получается следующий код:class Song
def title
# дай вам бог понять, что тут написано
# не пишите так никогда!
@title ||= no title
end
def title=(v)
@title = v
end
end
@#{method} #{ "||= #{options[:default].inspect}" if options[:default] }attr_accessor :title, :default => "no title" заработает.
$ ruby -e "puts lambda{|x| x*x}.inspect"
#<Proc:0xb7d17df8@-e:1>
1. Metaprogramming patterns — 25кю. Метод eval