smlnj

    4熱度

    2回答

    霍納規則用於簡化在特定變量值下評估多項式的​​過程。 https://rosettacode.org/wiki/Horner%27s_rule_for_polynomial_evaluation#Standard_ML 我容易地應用於使用SML的方法中,到一個變量多項式,表示爲int列表: fun horner coeffList x = foldr (fn (a, b) => a + b * x

    0熱度

    1回答

    內我有這樣的功能: addBinaryTreeNode((genRandomNumber(100), genRandomNumber(100), genRandomNumber(100)), tree, 1, []) 返回一個數據類型「二叉樹」。它將編譯時是自己,但是當我把它在一個函數: generate3DNodeTree(addBinaryTreeNode((genRandomNumber

    0熱度

    2回答

    截至目前,我正在使用inputAll讀取整個輸入文件,然後使用String.tokens在每次出現的空格處拆分每個單詞。 val file = TextIO.openIn input val _input = TextIO.inputAll file val _ = TextIO.closeIn file String.tokens Char.isSpace _input 例)「紅藍綠」

    1熱度

    2回答

    如何在Windows機器上播種SML/NJ的隨機數發生器? 函數Random.rand()需要一對整數並使用它們來爲隨機數生成器播種。根據我對其他編程語言的經驗,我期望有一種基於系統時鐘的相對簡單的方法(類似於C中的srand(time(null));)。除非我忽略了一些明顯的東西,否則似乎沒有任何直接的方法,至少如果您使用的是Windows。 SML中最接近time(null)的是Posix.P

    0熱度

    1回答

    我想知道是否可以在一個SML程序中調用一個python文件,如果是的話,你該怎麼做?我試圖研究如何做到這一點,但只找到了關於如何調用其他SML文件的文檔。

    1熱度

    1回答

    我正在寫一個遞歸ML函數,它接受一個字符串和一個索引值,並將該字符串分割給定索引。該函數應該返回一個包含兩個字符串的列表。 據我所知,我需要兩個基本案例來檢查是否已達到索引,另一個檢查字符串是否超出字符。我被困在如何將字符分配給不同的字符串。請注意,我使用了一個輔助函數來清除最初的調用,這樣在每次函數調用時都不需要輸入爆炸。 fun spliatHelp(S, num) = if nul

    1熱度

    1回答

    我想在SML/NJ編寫一個函數contains: fun contains(el: 'a, items: 'a list) = if null items then false else ((hd items) = el) orelse contains(el, tl items) 我知道我可以使用本機可能達到相同的最終結果list功能,但這是MOOC,它要求不使

    0熱度

    1回答

    我工作的任務從一個函數中提取值,並給出了以下功能: fun label (lb,ub) = let val s = callcc (fn k =>let fun branch c = if (c < ub) then (pushCP (k,branch,c+1);c) else ub in (pushCP(k,

    1熱度

    2回答

    我希望完成的是將字符串和布爾值傳遞到列表中。 「開關」操作符切換輸入類型的前兩個元素,'和'操作符以及前兩個元素。 但是,如果我想'和'布爾值和字符串,我將如何添加錯誤字符串到列表(「錯誤」)?另外,SMl不接受x::y::xs我應該放什麼,因爲我想切換而不管類型。 datatype input = Bool_value of bool | String_Value of string | Exp

    0熱度

    1回答

    所以我有一個數據類型: datatype ex = A of int | B of ex * ex; 和實例變量: val x = (B (A 1, B (A 2, A 3))); 我想通過它來打印這樣的: "(1, (2, 3))" 任何幫助將是不勝感激!謝謝。