В 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 по умолчанию? Я просто хочу, чтобы какой-то синтаксический сахар сделал код чище, если это возможно.