整數有一個內置在SML整數功能?是否有一個內置的功能來檢查數在SML
我的意思是一樣的東西:
我必須從文件中讀取一個數字,它顯示爲輸出,如果它的整數,提高異常,如果數量不是整數。例如我要檢查是否(Int.fromString())的輸出爲整數,並顯示它,如果它是...(重複上述)
整數有一個內置在SML整數功能?是否有一個內置的功能來檢查數在SML
我的意思是一樣的東西:
我必須從文件中讀取一個數字,它顯示爲輸出,如果它的整數,提高異常,如果數量不是整數。例如我要檢查是否(Int.fromString())的輸出爲整數,並顯示它,如果它是...(重複上述)
類型系統將確保類型值的函數是給定匹配函數的類型簽名。
也就是說,如果你有一個函數,它接受一個整數作爲輸入,如
fun double n = 2 * n
(* this function has type: int -> int *)
然後n
將永遠是一個整數。除了一個整數外,不可能調用該函數;它會給出一個類型錯誤。
如果你有一個多態函數,如
fun pair n = (n, n)
(* this function has type: 'a -> 'a * 'a *)
那麼你可以不知道什麼類型的輸入是在運行時。所有類型的輸入將被視爲相同。
你可以,但是,總是限制一個多態函數只工作在一個給定的類型,定義函數時使型明確:
fun pairInt (n : int) = (n, n)
(* this function has type: int -> int * int *)
可以通過對比看到pair
和pairInt
的區別你從打電話到pair 5
pairInt 5
,並pair "foo"
到pairInt "foo"
得到。
如果你有一個int option
,既然是這樣,如果你嘗試將string
轉換爲int
使用Int.fromString
,您可以通過多種方式提取int
。對於如何做到這一點,我把你提到的問題是「In smlnj how do you convert 「string option」 to 「string」?」。
我必須從文件中讀取一個數字,它顯示爲輸出,如果它的整數,提高異常,如果數量不是整數。 例如我要檢查是否輸出(Int.fromString())是整數,並顯示它,如果它是...(重複上述)。 – 700resu
@ user1710036:我建議你更新你的問題來反映這一點。我已經更新了我的答案。 –
你到底要什麼?一個函數,如果該double沒有小數部分,則返回true並返回true。請注意,這對於大型雙打來說不會很準確。或者一個接受int並且總是返回true的函數?這沒有多大意義。 – sepp2k