我有一個方法需要2個參數 - 要在屏幕上打印的消息和(默認)值。如果默認值是nil
那麼我只想將消息打印在屏幕上,否則消息應該在方括號中包含默認值。條件語句在Ruby中沒有像預期的那樣工作
例如:如果我通過method1("Hello" , "")
,則應打印Hello
,但如果通過method1("Hello", "User")
,則應打印Hello [User]:
。但現在即使在第二種情況下,它也只能打印Hello
。
下面是一段我的代碼:
def method1(mes, value)
val = ""
begin
if value == "" || "#{value}".to_i == 0
val = ask(mes) do |ch|
ch = true
end
else
val = ask(message+" [#{value}]: ") do |ch|
ch = true
end
end
if val == "" then
val = "#{value}"
end
rescue => e
print "Except occured in method1(#{mes}, #{value}) "+e
end
return val
end
之類的東西' 「#{}值」 to_i'通常毫無意義,因爲'value.to_i'會在這裏完成這項工作。 – tadman