For loop 迴圈一問

想請問各位先進…

在圖中的for Loop 迴圈 為何不用設定N(執行次數) 他還是可以執行
圖片中咖啡色的線條是一個陣列數值… 此數值還包含了5個數字
然後他會看咖啡色線有幾組陣列就會執行幾次  
為何會如此… 還請先進幫忙解惑
還有圖片中右上角的粉紅色框框 他的用意是在指定格式嗎
那個粉紅色框框要如何製作出來並指定格式與名稱

先在此謝過各位高手
謝謝

沒有時間寫程式所以用文字回答

[1] 這是LabVIEW特有的Auto-index功能,當傳入一個Array時(例如cluster0, cluster1, cluster2),可以自動indexing
讓迴圈跑3次,每一次分別傳入其中一個元素到迴圈裡面使用,然後每個元素都送一次以後,迴圈結束

[2] 只要有任何一條Auto-index存在,就可以不用設定N來決定迴圈次數上限
若Auto-index與迴圈次數同時存在,應該是會以Auto-index的次數為上限 (可以想像後面幾輪都沒有元素可以傳入了,不該讓它繼續跑),
若同時有多個Auto-index,應該會卡在最少能跑次數的Auto-index計數上,結束迴圈

這是很方便的功能,但是也很容易成為除錯時的麻煩,因此只要使用Auto-index的地方,通常我們都會加一個Array Size時常注意這個陣列的寬度

[3] 如果是2-D陣列,他會就其中一個維度展開來,逐個元素送入。到底用哪一個維度,通常會把迴圈內與迴圈外都放上Array Size,看看他到底將哪一個維度展開來計數了

[4] 在傳入的節點按右鍵可以設定是否啟動Auto-index(會降低一個維度,或是說1維陣列進去後會降低為個別元素),或是直接傳入整個Array(不會降低維度,不會發動Auto-index效果)。

[5] 對應地來說,傳出的節點也可以決定要不要Auto-indexing。一旦進行Auto-indexing,傳出的內容送出時會自動組成一組Array。也可以選擇關閉Auto-indexing,那麼會送出最後一值。
另一個選擇叫做串聯/串接,我不是很確定它的效果,最近沒用到就忘記了...


因為我對Cluster沒有非常的熟,下面的名詞名稱可能有誤,只是就觀念的部分回答:

[1] 以迴圈的第一圈來說,cluster0裡面有五個個別小物件屬性,這個程式一開始先把這個cluster展開來,並把各自的小物件屬性取出。但是這個程式並不是重新將它組回「細咖啡色線」的cluster,而是生成另一種cluster。

[2] 這個新cluster也是被指定為初始有五個物件屬性的,但是你可以注意到他的第二個跟第四個內容物件屬性,資料型態是字串,此外其他的整數數值格式也稍有不同。
這個物件似乎只是被他整理來顯示專用的,方便第二與第四這兩個項目以字串格式顯示

[3] 這個例子的確是以Bundle by Name進行指定格式的動作。通常說來Bundle by Name上面那條是用來把原始的物件送進來,但只指定他的其中一兩項內容物件屬性進行更新(變更),要每一項都更新也可以。
概念上例如一部車子我設定他的左車門由關變為開就好,不需要所有車子的物件屬性全都設定一次。但至少需要有人告訴我這台車的基本物件屬性到底有哪些。以便定義出他所占用的記憶體內部的排序結構。這個功能原本是用做這樣的功能。


MingYen42556.4303935185

建立方法應該是先開一個空的Cluster Constant,然後開三個Numeric Constant,然後開兩個空字串(String Constant)


然後依序把他們拉進Cluster Constant裡面即可,注意拉進去的順序會有關係

然後可以上Cluster上面按右鍵叫他們依照某個順序進行排列以避免混淆

MingYen42552.6538888889

感謝大大的詳細教學…

實在非常感謝  ^^ 

謝謝樓主的問題,對我們都有很大幫助

csgo4sale.com