2017-06-28 20 views
0

エリクシールは、入力を関数にパイプする可能性があり、コードをより頻繁に読みやすくします。このエリクサー:パイプより多くの関数を1つの変数に変換する

sentence |> String.split(@wordSplitter, trim: true) 

よう

例えば何かそのパイプString.splitの最初の引数に文字列sentence

ここでは、第2引数をString.splitにパイプしたいと考えています。エリクサーでそれをする可能性はありますか?つまり、次のような意味です:

sentence, @wordSplitter |> String.split(trim: true) 

ありがとう!

+3

いいえ、この構文は1つの引数に対してのみ機能します。 – Dogbert

+0

タプルのリストをパイプすることができます。最初のタプルには必要な引数が含まれています。それが助けば。 – GavinBrelstaff

答えて

0

@Dogbertが指摘したように、これは箱からは不可能です。ただし、このヘルパーはかなり単純です。

+0

'List.foldr(params、args、&List.insert_at(&2、0、&1))'の代わりに 'params ++ args'だけではないのですか? – Dogbert

+0

@Dogbertアプローチを示す。基本的には、このコードを調整することで、argsの任意の場所にパラメータを埋め込むことはかなり簡単です。逆順の場合、 'List.foldl/3'などを使うかもしれません。もっとも簡単な場合、' ++ 'はうまく動作します。 – mudasobwa

関連する問題