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にそのようなデバイスはありますか?可能であれば、コードをよりクリーンにするために、シンタティックシュガーが必要です。