文字列中の単語の出現回数を数えたいと思います。実装は疑問ですが、私の問題を示すためにそれを使用することができます:エリクシルでパイプされた値を参照する
def count(sentence) do
words = String.split(sentence)
occurrences = Enum.map(words, fn w -> {w, Enum.count(words, &(&1 == w))} end)
Map.new(occurrences)
end
私は、上記と同じ結果を達成するために好きですが、代わりに中間結果変数のパイプを使用します:
def count(sentence) do
sentence
|> String.split
|> Enum.map(fn w -> {w, Enum.count(???)} end)
|> Map.new
end
がそれですEnum.count関数でパイプされた値を参照することは可能ですか?または中間変数を使用する必要がありますか?
でこれを使用して見たOPはすでに、ちょうどそのコードを使用していたことを知っていたようにそれが見えたとして(私は私の答えで、より良いアルゴリズムを提案していませんでした"実装は疑わしいですが、私の問題を実証するために使用することができます。"ということを例として挙げています)。 – Dogbert
私のポイントは決して:パイプのvarを2回使用することは避けられない場合があります。 – mudasobwa
私の最終的な解決策は、それだけでなく、私が興味を持ったのは、ドッグベルトが悩んでいたものです。それは、私は匿名関数のアプローチは混乱していると思うし、間違いなくあなたのソリューションのようなものに置き換えてください。 –