在Ruby中,可以使用Array#join将多个字符串与可选分隔符简单地连接在一起。评估许多布尔表达式,如Ruby中的Array#连接
[ "a", "b", "c" ].join #=> "abc"
[ "a", "b", "c" ].join("-") #=> "a-b-c"
我不知道是否有很好的语法糖做了一堆布尔表达式类似的东西。例如,我需要将&&
一堆表达式放在一起。但是,将使用哪些表达式由用户输入确定。因此,而不是做了一堆
cumulative_value &&= expression[:a] if user[:input][:a]
我想收集首先要根据输入的所有表情,然后&&
他们一起一举。例如:
be1 = x > y
be2 = Proc.new {|string, regex| string =~ regex}
be3 = z < 5 && my_object.is_valid?
[be1,be2.call("abc",/*bc/),be3].eval_join(&&)
默认情况下,Ruby中是否有这样的设备?如果可能的话,我只是想要一些合成糖来使代码更清洁。
你希望每个部分都有参数和动态变化吗?或者他们以前是否确定?例如'be1'没有意义,除非已经给出'x'和'y',在这种情况下,它将是'true'或'false'的常量,但'be2'是一个proc,它总是评估到一个真实的价值,这也是一个常数,除非你打算将它用于某些论证,否则它就没有多大意义。看来你在混合这些。 – sawa