0

ここで使用される言語はFPです。

<>との使い方の違いがわかりません[]

例えば:

2 : <3,4,5> -> 4

しかし

+ o [1,2] : <2,3> -> 5

最初のシーケンスが[]ではなく で書かれているのはなぜ<>ですか?

ありがとう!

4

1 に答える 1

3

あなたの質問への答えは、実際にはあなたが提供したwikiリンクにあります。<...>リストの表記として使用されますが(たとえば、<3,4,5>要素、、、およびを含むリストです34、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
于 2013-03-18T03:02:48.710 に答える