1

だから私はこれを与えられます:

datatype intnest = INT of int
                    | LIST of intnest list;

intnest内のすべての整数を合計する関数を書くように言われました。問題の1つは、意図が何であるかを本当に理解していないことです。有効な意図の例を教えていただけますか?

私が書いた方法をチェックするために何かが必要です、そして私が試みるものは何も受け入れられません。

私は次のようなことを試しました:

val in1 = [1,2,3,[1,2,3]];
val in2 = [1,2,3,[1]];

など...だから私に例を与えることができればそれは非常に役立つでしょう。

ありがとう!

4

1 に答える 1

2

アイデアは、ベースケースから開始するコンストラクターを使用して値を構築することです。たとえば、コンストラクタINT of intがあります。

  • INT 1タイプですintnest
  • INT 2タイプですintnest
  • INT 3タイプですintnest

3つの値をリストに入れます。[INT 1, INT 2, INT 3]タイプはintnest listです。次に、2番目のコンストラクターLIST of intnest listを見てください。簡単にわかります。

LIST [INT 1, INT 2, INT 3]ですintnest

手順を繰り返すと、次のこともできます。

  • [INT 1, INT 2, INT 3, LIST [INT 1, INT 2, INT 3]]intnest list
  • LIST [INT 1, INT 2, INT 3, LIST [INT 1, INT 2, INT 3]]intnest
于 2012-10-24T17:31:17.233 に答える