2016-04-14 9 views
3

NetLogoとigraph(R)を転送しています。 igraphから返される情報の中には、文字列の2レベルネストリストがあります。私はリスト構造を保持したまま、数に内部の文字列を変換したいnetlogoネストされたリスト内の文字列を数字に変換する

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

:のような典型的な例が見えます。私は推測してい

[ [1 2 3] [4] ] 

私は(原因ネスティングにlputforeachのような、おそらく他のリスト操作)mapread-from-stringの組み合わせを必要とするが、私はちょうどそれを動作させることはできません:だから例はなるだろう。

アイデア?

答えて

5

基本的に、各リストは、int値のみを持つマップされたリストにマップします。 次のことを試してみてください。

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

おかげで、私は行きます実際の例のためにそれをコード化して、どうやって行くのかを確認してください – JenB

+1

実際に 'read-from-string'の前後に角括弧は必要ありません。あなたは 'map [map read-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]]] 
関連する問題