注册 登录
编程论坛 Ruby论坛

[求助]有个RUBY EVAL的问题

taiqi 发布于 2007-10-29 23:10, 6727 次点击

有个RUBY EVAL的问题
在一个RUBY程序(test.rb)里面.
定义了几个FUNCTION:
DEF HELP DEF TEST
定义了一个HASH数组:
$args = {
'--tron-command' => 'help',
'--filter' => '',
'--slaves' => nil,}
然后在后面CODE里面有句:
BEGIN
eval $args['--tron-command']
END

这里面有几个问题:
如果我打命令test.rb 会跳出HELP FUNCTION里面的东西
如果我打命令TEST.RB test会跳出TEST FUNCTION里面的东西.
请问: EVAL起什么作用? 为何会自动去取第一个参数?

2 回复
#2
tyxj882008-02-21 14:48
www.mold-industry.cn 中华模具信息网
www. 中华模具信息网
#3
try_catch2011-06-17 04:12
当你运行这个代码的时候

step1
        get value in $args['--tron-command'], we assume it is stored in "var tmp"
step 2
        eval tmp

就是这个意思,eval会运行你给他的命令行,动态代码
1