smlnj

    1熱度

    1回答

    我寫在SML插入排序一些代碼。這裏是。 fun compare(x:real, y:real, F) = F(x, y); fun isEqual(x:real, y:real) = ((x <= y) andalso (x >= y)); fun rinsert(x: real, L: real list, F) = [x] |rinsert(x, (y::ys), F) =

    0熱度

    1回答

    好吧,讓我開始說我是Standard ML中的超級新手。我從字面上開始用這種語言編程。說實話,我不打算用這種語言深入挖掘。我只需要完成一次性任務並繼續前進。我想解決如何使一個簡單的數組。不管你信不信,這些文檔讓我感到困惑,因爲我無法做出簡單的數組。 所以它似乎是爲了在sml新澤西州做一個數組...我需要指定maxLen變量。我現在只是簡單地分配了它,但也許我這樣做的方式不起作用。 比方說,我想創建

    1熱度

    1回答

    我正在設置一個函數,它將模擬循環,直到滿足條件。 我的總體計劃是使用遞歸,但我試圖首先獲得基礎知識。 我得到了一個基本的函數,使用If語句來查看X的值是什麼。我打算使用遞歸來將X用作計數器,但我會在稍後討論它。 我現在主要關心的是,看來我只能在「then」語句後執行1個命令。 fun whileloop (x,a) = if (x<4) then a+1 else a

    -1熱度

    1回答

    我已經定義了三個不同的函數來執行計算並返回一個值。這些函數將一直重新定義變量,直到達到特定條件。我有問題讓這些在「循環」場景中運行。我知道函數式語言並不適合執行循環,而應該使用遞歸式......但我很難包圍如何執行此操作。 我會做一些真正簡單的任意函數來解釋我的情況。 fun add_them (a,b) = a+b; fun substract_them (c,d) =

    0熱度

    1回答

    返回兩個變量下面我有一個函數使用變量X和變量A. 我怎樣才能返回這兩個變量,以便能夠進一步使用這些值降低程序。 val a = 1000; val x = 5; fun test (x,a) = if (a<1) then( x) else( test(x+1,a-1) )

    2熱度

    1回答

    我正在SML中練習,其中我處於網格中,並從單元格(i,j)開始,並且我想要轉到單元格(x,y)。爲了模擬這種情況,每個單元格都被視爲一個狀態(i,j,move),在那裏移動它從前一個單元格到達那裏的方式。然後我寫了一個簡單的遍歷算法(更像是dfs),它開始搜索狀態直到找到所需的狀態。 請注意,對於遍歷函數,我使用一個以索引狀態爲索引的地圖字典,以便跟蹤訪問狀態。 代碼: val startp =

    0熱度

    1回答

    即時通訊功能編程的新功能,但我有專門針對Java的命令編程經驗。我想問一個值如何迭代在smlnj我知道,在Java上,你可以使用varName + = anyNumber或varName = varName + 1.在smlnj我不知道如何做到這一點,我的var值不迭代在這裏是一個我的代碼示例。提前致謝。 fun number_in_month (dates : (int*int*int) lis

    0熱度

    1回答

    我很新的SML和我想要一些項目添加到列表中 fun foo(inFile : string, outFile : string) = let val file = TextIO.openIn inFile val outStream = TextIO.openOut outFile val contents = TextIO.inputAll file val lines = String

    -1熱度

    1回答

    我想從我在SML中編寫的python文件調用函數。我收到tycon不匹配錯誤,我不明白爲什麼。這是我的SML碼 fun interpreter(inFile: string, outFile: string)= let val s = interpreter(inFile, outFile) in OS.Process.system ("python interpreter

    1熱度

    1回答

    我想在SML中編寫一個函數,它搜索字符串的元組列表,並且如果它在元組的第一個元素中找到字符串,則返回第二個元素。 fun getFromBlist (name : command, (x,y)::tail : (command*command) list) = if x = name then y else getFromBlist(name, tail) | getFromB