2

たとえば、SML でリストの等価性をチェックする関数を書きたい: [1,2,3]=[1,2,3]; val it = true : bool

したがって、すべてを書き留める代わりに、事前定義された 2 つのリストを取り、それらを比較する関数を作成して、list01 = [1,2,3] および list09 = [1,2,3] の場合に fun equal になるようにしたいと考えています。 (list01,list09); -val it = true : bool; を返します。

アイデア/ヒントとヘルプを事前にありがとう:)

4

2 に答える 2

7

リストで機能することを認識しているようです=ので、(コメントですでに述べたように)関数を定義する必要がある理由がわかりませんequal

そうは言っても、次のように書くことができます:

fun equal (a, b) = (a = b);
于 2010-09-29T10:27:33.060 に答える
1

チェックされていないサンプルは次のとおりです。

fun compare ([], []) = true # both empty
    |   compare (x::xs, y::ys) = (x = y) and compare(xs,ys)
    |   compare (_, _) = false # different lengths
于 2010-09-29T09:37:18.070 に答える