2016-04-24 4 views
1

リストの各要素に、mapの代わりにn-values関数を使って2を掛けることができるアイデアは何ですか?しかしn-valuesを使用して -netlogoのn値を使ってリストの各要素を掛ける

let mylist n-values 10 [?] 
let mylist2 fput -1 lput 10 mylist 

どのように私はその各項目が倍増されるようにmylist2を変更することができます。

は私のコードは次のようであると言いますか?

事前に感謝します。

答えて

2

最初にリストを作成するときには、n-valuesを使用して要素を2倍にします。後でリストを変更するのに実際にn-valuesを使用しないでください。 mapはこれよりはるかに優れています。あなたはだけダブルmylist2にしたい場合は、あなたmapを使用する必要があります

let mylist n-values 10 [ 2 * ? ] 
let mylist2 fput -2 lput 20 mylist 

let mylist2 map [ 2 * ? ] (fput -2 lput 20 mylist) 

更新:

だから、のように聞こえるとにかく、最初のリストを倍にすることのように見えますこれは割り当てや何かのためです。その場合は、n-valuesitemを使用して行うことができますが、詳細を説明します;

+0

ありがとうございます!私はこれらのオプションを認識しています。何とか2番目のリストを変更するには、n値を使用する必要があります。私はそれを変更する必要はないと理解していますが、それは可能ですか?それを行う方法はありますか? – dotthei

+0

@dottheiそれは 'n値12 [2 *(? - 1)]'で行うことができますが、実際に達成しようとしていることを説明してください。なぜ 'map'を避けるのですか? – Alan

+1

@dottheiこれは宿題の場合は、おそらく自分で考えなければなりません。 – Alan

関連する問題