は、私は、関数にパイプデータに|>
を使用するために使用しています:PureScriptにパイプ演算子がありますか? F#の世界から来る
[1..10] |> List.filter (fun n -> n % 2 = 0) |> List.map (fun n -> n * n);
私はPureScriptは、Haskellのに触発されて、類似した何かを持っていることを前提としています。
PureScriptでpipe演算子を使用するにはどうすればよいですか?
は、私は、関数にパイプデータに|>
を使用するために使用しています:PureScriptにパイプ演算子がありますか? F#の世界から来る
[1..10] |> List.filter (fun n -> n % 2 = 0) |> List.map (fun n -> n * n);
私はPureScriptは、Haskellのに触発されて、類似した何かを持っていることを前提としています。
PureScriptでpipe演算子を使用するにはどうすればよいですか?
はい、Preludeで定義されている#
を使用できます。ここで
は#
を使用して書き換え、あなたの例である:
http://try.purescript.org/?gist=0448c53ae7dc92278ca7c2bb3743832d&backend=core
module Main where
import Prelude
import Data.List ((..))
import Data.List as List
example = 1..10 # List.filter (\n -> n `mod` 2 == 0)
# map (\n -> n * n)
ここPureScriptで使用するために|>
演算子を定義する一つの方法です。 と全く同じ方法で定義されています。つまり、同じ優先順位と結合性で定義されています。 -
pipeForwards :: forall a b. a -> (a -> b) -> b
pipeForwards x f = f x
infixl 1 pipeForwards as |>
しかし、「when in Rome ...」私は '|>'の使用をやめ、デフォルトの '# '演算子を使用するように戻しました。 '#'と '$'(パイプ後方)は、適用演算子 '<#>'と '<$>'との対称性が良いです。 –