当我在方法签名中使用时,我会如何强制将irb的行为作为字符串对待?ruby cast方法输入变量作为ruby irb中的字符串
我想创建一个基于irb的计算工具,我想减少在irb shell中使用这个工具的用户的输入。假设我的用户不是Ruby程序员,也不了解Ruby的语法。可能有一些命令行的功能。
我有一个文件
calculator.rb
这个文件里面是
def calculate(value, units)
... some logic
end
我指导用户火了IRB像这样
irb -r path/to/calculator.rb
我指示用户键入
calculate(10, inches)
在irb中获取返回值
我该如何做到这一点,而不需要用户理解他们必须将第二个参数包裹在引号中。换句话说,我不希望用户必须键入
calculate(10, "inches")
,才有可能施展用户输入的字符串,而不是一个变量标识符它传递给我的方法,我的剧本里过吗?如果没有从根本上打破irb shell,也许我想要做的事情是不可能的?
因为你必须重新编译Ruby本身,所以你会打破IRB。字符串被分隔的期望在解释器本身中定义,并且全部通过它所使用的语言和脚本中的所有内容。如果你这样做,一切都会停下来。 – 2013-04-20 04:16:18
重新编译没有必要,您可以改为使用method_missing。 – 2013-04-20 07:30:01