在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