smlnj

    2熱度

    2回答

    我試圖創建具有類型的函數: unit -> (int list * int list * int list) 但我想知道,單位是一個空型(沒有值),所以它怎麼會是可能的對它做些什麼並返回3個int列表? 感謝

    1熱度

    1回答

    我有一個元組列表[("hi", 1), ("yo", 2)];,我想將這個列表'轉換'成使用sml中的標準輸出print s;表格格式的表格。 例如上面的元組列表將產生一個輸出,如: ------------ | "hi" | 1 | ------------ etc... ------------ 我有這樣的代碼,但它給我的錯誤: fun outputTable [] = print

    0熱度

    1回答

    我有一個字符列表[#"h", #"i", #" ", #"h", #"i"],我想從中獲取第一個字(每個空格之前的第一個字符序列)。 我寫了一個函數,它給了我這樣的警告: 標準輸入:13.1-13.42警告:因爲價值 限制型乏不是一概而論的實例化虛擬類型(X1,X2,... 。) 這裏是我的代碼: fun next [] = ([], []) | next (hd::tl) = if(n

    0熱度

    1回答

    列表 所以,我有話和計數器的列表: [("word1", 1), ("word2", 1)] ,我想知道我怎麼會增加一個字我添加計數器成列表,例如: 如果單詞已經在列表中,增加了這個詞的計數器: counts "word1" [("word1", 1), ("word2", 1)] => [("word1", 2), ("word2", 1)] 在列表中,否則創建一個新的計數: counts "w

    0熱度

    1回答

    我已經寫了一個函數,它將在列表中翻轉交替元素,但是我必須調用它,然後調用它的方法(我是ML的新手,所以我很抱歉如果我使用不正確的條款)。我寧願只調用該函數而不必調用其中的方法。這就是我現在要做的: (*3. Flip alternate elements in a list, if n = odd, element n remains at end*) fun flip nil x = x

    2熱度

    1回答

    我正在嘗試在SML中編碼並面對以下列出的問題 我製作了N-Ary樹並且變量tr存儲了創建的樹的值。 val tr =node([leaf "x", node([leaf "y", leaf "x" , leaf "z"])]); 功能貓是什麼,我希望將打印所有的葉子節點的值。 但我得到一個非詳盡的搜索警告,它不起作用。 fun cat (node ([node t1 , node t2])) =

    0熱度

    2回答

    我寫了下面的代碼: fun remove_element(nil, elem) = raise Empty | remove_element(hd::tl, elem) = if(hd=elem) then tl else hd::remove_element(tl, elem); 但功能(從列表中移除的元素ELEM)適用於INT。我需要讓它適用於真實數字,但我無法做到。我已經嘗試了

    0熱度

    1回答

    我想從sml中的char列表中刪除空條目。 這是我的功能,但是當我嘗試調用它時,它不起作用並帶來致命錯誤。 fun no_spaces([]) = raise Empty | no_spaces(e::f) = if(e = #" ") then no_spaces(f) else e::no_spaces(f); no_spaces [#"a",#"a",#" ",#"d",#"

    1熱度

    1回答

    我試圖做到以下幾點完成,但是編譯器退出編碼1 exception InvalidCharacter fun order (_, _, nil) = nil | order(b:char list, l::xl::xxl, s::xs) = if s=l then length(l::xl::xxl)::(order (b, b, xs)) else order(b, xl::xxl

    1熱度

    1回答

    爲什麼我不能執行以下操作,以及執行該操作的方法是什麼? datatype boolexp = zero | one | compl of boolexp; fun convert (#"1"::nil) = one | convert (#"0"::nil) = zero | convert (#"-":: #"(" :: xs @ [#")