2016-04-14 335 views
3

我在NetLogo和igraph(R)之間進行傳輸。從igraph返回的一些信息是2級嵌套的字符串列表。典型示例如下所示:netlogo將字符串轉換爲嵌套列表中的數字

[ ["1" "2" "3"] ["4"] ] 

我想將內部字符串轉換爲數字,同時保留列表結構。因此,例如將成爲:

[ [1 2 3] [4] ] 

我猜我需要mapread-from-string的組合(如lputforeach,也許還有其他列表操作由於嵌套),但我不能讓它工作。

任何想法?

回答

5

實質上,將每個列表映射到僅具有int值的映射列表。 嘗試以下操作:

show map [ map [ read-from-string ? ] ?] [ ["1" "2" "3"] ["4"] ] 
+0

感謝,我會去並將其編碼爲真實的例子,看看我如何去 – JenB

+1

你實際上並不需要圍繞'read-from-string'方括號。你可以做'映射[map map-from-string?] ...'。 –

4

只是爲了好玩,這裏是可以轉換嵌套級別的任意數量的版本:

to-report read-from-list [ x ] 
    report ifelse-value is-list? x 
    [ map read-from-list x ] 
    [ read-from-string x ] 
end 

例子:

observer> print read-from-list [ ["1" "2" "3" ] ["4" [ "5" "6" ] ] ] 
[[1 2 3] [4 [5 6]]] 
相關問題