私はリストと値を持っています。これらの要素の合計がその値を超えないようにするには、リストの要素を新しいリストに挿入するにはどうしたらいいですか? 質問は、上記の新しいリストと新しいリストの要素のない初期リストを返す方法ですか? たとえば、私はリスト[13,8,7,6,4,2,2,1]と値21を持っています。だから、そのリストの要素を新しいリストに挿入したいのですが、それらの合計はless than
[13,7,8,4]と数字Nのようなリストがあります。そのリストの最後に "N mod ListSize"の数で要素(いくつかのゼロ)を挿入したいとします。 N = 6とし、リストに従って、ListSizeは4です。したがって、6 mod 4 = 2であり、次にこのように2ゼロを挿入する必要があります。[13,7,8,4,0,0] SMLの関数でこれを行うにはどうすればよいですか?
私は、次の2つの「機能」があります:彼らの両方が機能するように見える表面から is_three;
val it = fn : int -> bool
SOME;
val it = fn : 'a -> 'a option
:is_threeとSOME fun is_three(number) =
case numbers of
3 => true
| _
は、質問(およびディスカッション) "Why is the minimalist, example Haskell quicksort not a "true" quicksort?"によるQuicksortの非常に遅いバージョンなので、機能的Quicksortは、Hoare's algoritmの複雑さに従って動作すれば、どのように標準MLのように見えますか? fun quicksort []
以下のコードをSMLで記述しましたが、コンパイルエラーが発生しました。 fun getTransIndex(t : TRANSACTION, (h::L) : TRANSLIST) : int =
let val i=0
in if (h=t) then i
else
if (getTransIndex(t,L)<>~1
then getTr
を考えると、これらの宣言から要素を引っ張って、2つのストリームを組み合わせますそう:val nat = from 1.0 (fn x => x+1.0); やものの流れ:val one = from 1.0 (fn x => x); しかし、私は、これら2つのストリームからのストリームの作成についてどのように行きますか?具体的には、2つのストリームをマージしてストリームを出力する関数です。 次のよ