<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ??一站式輕松地調用各大LLM模型接口,支持GPT4、智譜、豆包、星火、月之暗面及文生圖、文生視頻 廣告
                Haxe 里的 for 循環和C、Java里面的for 循環非常不同,而是更像常見的 foreach 循環。但這并不是說它是一個 foreach 循環,因為顯然不是,只是某些范圍相似,Haxe的 for 循環迭代對象和值而不是循環直到指定的表達式返回true 。 Haxe 的 for 循環直接關聯可迭代的對象。迭代器將在后面學習,對于這個解釋,你可以檢查默認的迭代器:IntIter 對象。在此之前,最好是說明什么是迭代器。一個迭代器是一個對象,代表一個可迭代的值。 這可能是一個對象列表或者值的列表,包含在一個數組中,一個數值從一個指定最小的值到指定最大的值排列,甚至是字母表里的字母。迭代器通過暴露的兩個方法提供值:hasNext() 和 next() 。hasNext() 方法不需要參數,如果還有更多的對象等待迭代則會返回true,否則返回false 。next() 方法也不需要參數,返回迭代堆棧里的下一個對象。 無論如何,Haxe中許多的類型和處理使用了迭代器,都會自動訪問這兩個方法。 for 循環是其中一個。 # IntIter對象 * * * * * 前面說過,IntIterator 是最基礎的可用迭代器,也是在Haxe應用中最常用的,因為它在從一個指定Int類型值到另一個值得迭代中提供了援助。第一次實例化它為一個數組然后提供它最小值和最大值之后就可以使用 IntIterator 對象,這兩個值分配給隱藏的標記為min和max的變量。然后傳遞一個變量標識符,和實例化的對象到for 循環來迭代,使用 in 關鍵字隔開它們,像這樣: ~~~ var iter = new IntIterator(0,10); for ( i in iter ) trace ( i ); ~~~ 循環運行后,進行下面的步驟: 1. for 循環檢查迭代器對象有可迭代的值,通過調用它的 hasNext() 方法。這個方法計算最小值是否小于最大值,并返回語句的結果。如果為true,那么至少還有一個值等待迭代,否則推出for 循環。 2. in 關鍵字分配迭代器的 next()方法 返回值到 in 關鍵字左邊提供的變量。這個賦值采用和 myInt = min 相同的方式,如果要賦值的值不是一個對象,那么一個拷貝會被賦值,否則對象的引用被賦值。在IntIterator的情況里,總是賦值一個 Int 。 3. 在min被賦值后,它會被增加 1 準備進入下一個循環。一旦for 循環提供的代碼唄執行,過程則重復 step 1 。 因為 min 的值必須小于 max,循環中提供的數值范圍不會等于 max 變量的值。因此,在例子中,循環會輸出0到9到屏幕。 當提供在for循環語句中給 in 關鍵字左側的變量,不用使用 var 聲明,因為變量會為你聲明好。 # IntIterator操作符 * * * * * 對比其他的迭代器類型,IntIterator迭代器很特別,因為可以被聲明并且通過使用迭代器操作符(...)自動實例化,可以重寫前面的例子: ~~~ for ( i in 0...10 ) trace( i ); ~~~ IntIter迭代器不能以遞減的方式運作,所以計算從10到0,雖然編譯可以通過,但是不會執行循環。然而,你可以使用一些技巧模擬這個過程,通過從最大值減去比當前迭代值大1的: ~~~ for ( i in 0...10 ) trace( 10 - ( i + 1 ) ); ~~~
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看