既然您說第二行以等號(=)開頭,那麼您的代碼似乎直接寫入解釋器?
無論如何,你必須自己寫管道。管道是SML語法的一部分,用於「指示」不同的功能子句,而分號在這裏具有雙重含義。作爲SML語法的一部分(儘管這裏不是嚴格需要)以及作爲解釋器的特殊指示器(如下所述)一樣加倍。
大多數解釋器都會繼續從stdin讀取數據,直到它讀取分號,然後首先它會開始解釋您寫的內容。 對於SML/NJ解釋器,第一行以「 - 」開頭,後面的行以「=」開頭。請注意,「 - 」和「=」符號不被解釋爲最終程序的一部分。 這方面的例子可以看出下面
- fun foo 0 y = 0
= | foo 1 y = y
= | foo x y = x*y;
val foo = fn : int -> int -> int
這裏的最後一行是從解釋的輸出,當它讀取分號。寫分號
- fun foo 0 y = 0
= | foo 1 y = y
= | foo x y = x * y
= fun fact 0 = 1
= | fact n = n * fact (n-1);
val foo = fn : int -> int -> int
val fact = fn : int -> int
關於管之前 但是我們也可以申報兩個功能,這取決於你的鍵盤佈局,您是否會通過鍵入Shift +「\」得到它。但是,由於您的文章包含多個管道,我想您已經知道如何編寫一個管道。
沒關係,ig ot it。你寫 – user1913592
娛樂階乘0 = 1 = |階乘n = n *階乘(n-1); – user1913592
當你說你得到別的東西。你得到了什麼?考慮到帖子中的管道數量,您清楚知道如何編寫管道。 –