Ruby编程:动态编程、对象冻结、文档生成与MySQL安装指南
1. 运行时编写程序
在某些场景下,我们可能需要在程序运行时动态定义代码。之前的 eval4.rb 程序虽能让用户输入字符串来定义代码并创建可运行方法,但要求每个方法必须在单行输入。下面的 writeprog.rb 程序则允许用户输入多行方法,直到输入空行时才对之前输入的代码进行评估:
program = ""
input = ""
line = ""
until line.strip() == "q"
print( "?- " )
line = gets()
case( line.strip() )
when ''
puts( "Evaluating..." )
eval( input )
program += input
input = ""
when '1'
puts( "Program Listing..." )
puts( program )
else
input += line
end
end
以下是使用该程序的示例:
def a(s)
return s.reverse
end
def b(s)
return a(s).upcase
end
puts( a("hello") )
puts( b("goodbye"
超级会员免费看
订阅专栏 解锁全文
11

被折叠的 条评论
为什么被折叠?



