[Ruby] область видимости и eval
Yuri Leikind
YuriLeikind at scnsoft.com
Mon Jan 13 13:47:20 MSK 2003
On Mon, 13 Jan 2003 00:08:11 +0200
"Andrew Kulinich" <vanger at west.com.ua> wrote:
> 1) Никак не могу додуматься как сделать следующее:
>
> test=3
>
> def qwe(arg)
> ###
> end
>
> qwe "test"
>
> Что написать вместо ### чтобы метод выводил значение переменной, имя которой
> передавается в arg.
>
test=3
qwe = lambda {|arg|
eval arg
}
puts qwe.call("test")
В методе qwe в первоначальном варианте переменная test не видна, так как это
простая локальная переменная, поэтому я переписал на Proc.new(те lambda)
Либо так:
@test=3
def qwe(arg)
eval arg
end
puts qwe "@test"
Best regards,
Yuri Leikind
* SynrG notes that the number of configuration questions to answer in sendmail
is NON-TRIVIAL
-- Seen on #Debian
More information about the Ruby
mailing list