在字符串连接中,是否可以在语句中直接包含条件?
在下面的示例中,我希望仅当"my dear"列表不为空时才连接dear。
dear = ""
string = "hello" + " my dear" unless dear.empty? + ", good morning!" 但是结果是一个错误:未定义的方法'+‘表示true
我知道另一种选择是在这个语句之前定义一个额外的变量,但我想避免这种情况。
发布于 2015-02-22 01:09:15
使用插值而不是连接,它更容易,可读性更好:
dear = ""
string = "hello#{ ' my dear' unless dear.empty? }, good morning!"发布于 2015-02-22 01:08:27
在这种情况下,最好使用三元运算符。
string = "hello" + (dear.empty? ? "" : " my dear") + ", good morning!" 语法是这样的
condition ? if true : if false发布于 2015-02-22 01:57:44
这里有个可爱的东西
dear = ""
"hello%s, good morning!" % (' my dear' unless dear.empty?)
# => "hello, good morning!"
dear = "val"
"hello%s, good morning!" % (' my dear' unless dear.empty?)
# => "hello my dear, good morning!"https://stackoverflow.com/questions/28648536
复制相似问题