[Ruby] область видимости и eval
Yuri Leikind
YuriLeikind at scnsoft.com
Mon Jan 13 13:53:08 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.
>
> 2) имеется конструкция
> test = 2
> qwe = "test"
> print eval "eval \"qwe\""
>
> Мне кажется что эта конструкция должна выводить "2". Где логику править?
А мне кажется, что результат должен быть "test"
Первый eval выполняет код
eval "qwe"
Выполняя этот код, запускается второй eval, который возвращает
значение своего кода
qwe
А значение qwe - "test"
>
>
> _______________________________________________
> Ruby mailing list
> Ruby at altlinux.ru
> http://www.altlinux.ru/mailman/listinfo/ruby
___
Best regards,
Yuri Leikind
Any fool can tell the truth, but it requires a man of sense to know
how to lie well.
-- Samuel Butler
More information about the Ruby
mailing list