sml

    0熱度

    1回答

    所以我的工作我的做法最終,有問題問我要畫一個解析樹爲這個SML代碼: fun ff f x y = if (f x y) then (f 3 y) else (f x "zero") val ff = fn : (int -> string -> bool) -> int -> string -> bool 我瞭解如何獲得這種類型,但不太確定如何繪製一個分析樹來表示它。 對於我的家庭作業,

    0熱度

    2回答

    我正在寫一個仿函數來實現標準ML中的集合。由於集合不允許重複,我不希望它被限制在平等類型,它的聲明如下: signature SET = sig type t type 'a set val add : t -> t set -> t set ... end functor ListSet (EQ : sig type t val equal : t

    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熱度

    2回答

    林在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, [], F) = [x] |rinsert(x, (y::ys), F) = if isEqua

    0熱度

    1回答

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

    -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 =

    1熱度

    1回答

    邏輯: eploy(列表,常數) if list is empty then return: 0; else return: (first_element + constant*eploy(rest_of_the_elements, constant) 我已經寫了下面的代碼: fun eploy(xs, x1:int) = if nul

    1熱度

    1回答

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