ここで使用される言語はFPです。
<>
との使い方の違いがわかりません[]
。
例えば:
2 : <3,4,5> -> 4
しかし
+ o [1,2] : <2,3> -> 5
最初のシーケンスが[]
ではなく で書かれているのはなぜ<>
ですか?
ありがとう!
ここで使用される言語はFPです。
<>
との使い方の違いがわかりません[]
。
例えば:
2 : <3,4,5> -> 4
しかし
+ o [1,2] : <2,3> -> 5
最初のシーケンスが[]
ではなく で書かれているのはなぜ<>
ですか?
ありがとう!
あなたの質問への答えは、実際にはあなたが提供したwikiリンクにあります。<...>
リストの表記として使用されますが(たとえば、<3,4,5>
要素、、、およびを含むリストです3
)4
、FP5
によって[...]
すでに提供されている関数の構文にすぎません。それは建設と呼ばれ、によって定義されます
[f1, ..., fn]:x = <f1:x, ..., fn:x>
Haskellに精通している場合:それはに似ています
map (\f -> f x) [f1, ..., fn] = [f1 x, ..., fn x]
つまり、これ[...]
はある種のマップ関数です。1つの引数に多くの関数を適用するには、高階関数も参照してください。
あなたの特定の例では
2:<3, 4, 5>
指定されたリストの2番目の要素を選択し、次の+ o [1, 2]:<2, 3>
ように「評価」できます(ここで、o
は関数の合成です)。
+ o [1, 2]:<2, 3> => (definition of composition)
+:([1, 2]:<2, 3>) => (definition of construction)
+:<1:<2, 3>, 2:<2, 3>> => (select list elements)
+:<2, 3> => (addition)
5