0

ここでリストを操作する手順を含む Oz のモジュールに関する情報を見つけました: https://mozart.github.io/mozart-v1/doc-1.4.0/base/list.html

しかし、私はさまざまな方法でさまざまな手順を試してきました。たとえば、次のようになります。

declare
proc {Length L}
   I
in
   {List.length +L ?I}
   {Browse I}
end

declare
L=[1 2 3 4]
in
{Length L}

そして、私が得るのは型エラーです。理由を教えていただければ幸いです。私は OZ を使用するのが非常に新しいのです。

4

1 に答える 1

0

問題は、 に渡す引数にありますList.length。「+」記号は使用しないでください。加算用の演算子です。電話するだけ

{List.length L ?I}

ドキュメントでは、引数の目的を示すために「+」記号が使用されています。「+」記号は入力引数を示し、「?」記号は入力引数を示します。出力引数を示します。

また、「?」を使用できます。わかりやすくするためにコードでは、Oz によってサポートされています。

また、Listモジュールはデフォルトでインポートする必要があります。Lengthしたがって、を使用する関数を定義する必要はありません。List.length単純に使用できます。

{Browse {Length [1 2 3 4 5]}}

引数として与えられたリストの長さをブラウズします。

于 2015-11-13T09:57:00.593 に答える