當我在方法簽名中使用時,我會如何強制將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