2016-10-09 8 views
0

mlコースの割り当てをしようとしていますが、問題は機能に設定されたタイプが必要です:int * int -> intなどです。問題を解決する方法は別の関数を使用する方法です(反復のために)問題を解決する。サブ機能ml

私は、lispにある関数が他の関数のスコープ内にあるような何らかの方法があると信じています。

私はこれを行うことができると思います:

fun a (x, y) = 
    let 
    fun b (i,j) = ...; 
    in 
    ...; 

[このための正確な構文のわからないが、私は唯一それが機能することができ、一時的な変数(のためだった、このような何かを読んで覚えている?]

は、しかし、これは間違っているなら、私を修正してください。MLで

答えて

1

を、関数は、第一級オブジェクト(すなわち値)です。あなただけの他の値と同様にletを経由して、それらをバインドすることができます。

したがって、あなたの考えは正しいです。これは、「イテレータ」として渡される(すなわち、マップ/折りたたみ/反復する)関数のための特に優れた設計です。あなたの質問はあまりにも曖昧ですが、それ以上のアドバイスはありません。

+0

これは完全に私の質問に答える私はちょうどグーグルに何がわからなかった。 – Cjen1

関連する問題