在 Ruby 中,您可以使用Array#join通过可选的分隔符将多个字符串简单地连接在一起。
[ "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中有这样的设备吗?如果可能的话,我只想要一些语法糖来使代码更干净。