我有以下的文本文件中的數據,我從標準輸入讀取:轉換列表中列出的數字(包括浮點和整數)
4.5 12 -16
12 37 -43
-1.6 -4.3 98
1
2
3.3
我就可以執行一些基本的解析,並獲得一個(希望)點在那裏我有它解析爲結構爲:
[[[4,.,5],[1,2],[-,1,6]],[[1,2],[3,7],[-,4,3]],[[-,1,.,6],[-,4,.,3],[9,8]],[[]],[[1]],[[2]],[[3,.,3],[]]]
這基本上是線,其中線也表示爲字符的目錄編號列表的列表。現在我想將它轉換爲行列表,其中行將是數字列表 - 浮點數和整數值的混合列表。所以我的問題:混合列表甚至可能在Prolog中?如何將字符串轉換爲整數或浮點基於'點'的存在?
我試着使用普通的atom_string(X, [1,.,5]).
來測試這是否是這種方式,但它結束與參數沒有充分實例化(我不知道,當兩個參數應該是'?'類型這意味着它們可以是輸入和輸出變量
使用'number_chars(X,[ '1', '5'])而不是!請注意,您必須爲字符1寫入'1',而不是單獨寫入'1'。 – false
更加緊湊的是,當你使用set_prolog_flag(double_quotes,chars)時,你可以爲'['1',。,'5']寫''1.5'''。' – false
'maplist(number_chars,Numbers,Strings)' – false