2013-09-04 6 views
6

私はF#の上textbookて働いているとF#式で「スキーマ」と「メタシンボル」の意味は何ですか?

let rec fact = function | 0 -> 1 | n-> n * fact(n-1);; 

階乗関数を導入した後、著者はまたfactを含む式の評価がfootnote

で終了し、追加しない可能性があることを指摘

factnのようなテキストは、F#ののではありません。 スキーマメタシンボルnを適切なF#エンティティに置き換えることによってプログラム部分を取得することができます。

これは私の頭の上に行った! factがどのように機能し、他の言語で再帰しても満足していますが、著者がここで作成しようとしている違いはわかりません。説明は大歓迎です。

答えて

5

私は彼らが言っていると思われるのは、nがその関数に渡される値(つまり「F#エンティティ」)を表していると考えています。 fact nは有効なF#コードではありません。

nのプレースホルダです。

関連する問題