我正在用Ruby編寫一個Google sketchup插件,而且我遇到了一個小問題。我有包含數組的每一個點的描述,如:另一個每個故障中的每個聲明?
desc_array = ["anna ", "anna 45", "anna689", "anna36", "anna 888", "anna ",...]
包含的每一個點的座標的數組是:
todraw_su = [
[-16.23317, -16.530533, 99.276929],
[-25.142825, -12.476601, 99.237414],
[-32.716122, -5.92341, 99.187951],
[-38.964589, 4.181119, 99.182358],
[-41.351064, 18.350418, 99.453714],
[-40.797511, 33.987519, 99.697253],
...
]
我想增加在谷歌的SketchUp文本每個點。根據SketchUp的API可以做到這一點的:
Sketchup.active_model.entities.add_text "This is the text", [x, y, z]
我想:
todraw_su.each {|todraw| desc_array.each {|desc| Sketchup.active_model.entities.add_text desc,todraw }}
但是,它給了我意想不到的事情,因爲它返回所有在desc_array
在to_draw
每個元素的元素。
我想要的是to_draw
中每個元素的desc_array
中的每個元素。
一個更好的標題就像「匹配來自兩個陣列的元素」。 – DigitalRoss
Checkout http://www.ruby-doc.org/core-1.9.3/Array.html#method-i-zip –
您的代碼完全按照它的說法進行操作;對於'todraw_su'的每一個元素,它遍歷'desc_array'中的每個元素,即所有元素。這絕對不是一個「故障」。 :) – nickgrim