<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>

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                每種編程語言都有產生分支流程的方法,在Vimscript中,這是用`if`語句實現的。?`if`語句是Vimscript中產生分支的基本方法。這里沒有類似Ruby中的`unless`語句, 所以代碼中所有的判斷都需要用`if`實現。 在談論Vim的`if`語句之前,我們需要花費額外的時間講講語法,這樣可以在同一頁里講完它。 ## 多行語句 有時你在一行里寫不下所需的Vimscript。在講到自動命令組時,我們已經遇到過這樣的例子了。 這里是我們之前寫過的代碼: ~~~ :augroup testgroup : autocmd BufWrite * :echom "Baz" :augroup END ~~~ 在理想的情況下,你可以分開成三行來寫。但在手工執行命令的時候,這樣寫就太冗長了。 其實,你可以用管道符(`|`)來隔開每一行。執行下面的命令: ~~~ :echom "foo" | echom "bar" ~~~ Vim會把它當作兩個獨立的命令。如果你看不到兩行輸出,執行`:messages`查看消息日志。 在本書的剩余部分,當你想手工執行一個命令,卻對輸入新行和冒號感到心煩時,試試用管道隔開, 在一行里寫完。 ## If的基本用法 現在讓我們回到正題上來,執行下面的命令: ~~~ :if 1 : echom "ONE" :endif ~~~ Vim將顯示`ONE`,因為整數`1`是"truthy"。現在執行下面命令: ~~~ :if 0 : echom "ZERO" :endif ~~~ Vim將_不_顯示`ZERO`,因為整數`0`是"falsy"。讓我們看看對字符串是怎么處理的。執行下面命令: ~~~ :if "something" : echom "INDEED" :endif ~~~ 結果可能讓你吃驚。Vim_不會_把非空字符串當作"truthy",所以什么也沒有顯示。 讓我們打破沙鍋問到底。執行下面的命令: ~~~ :if "9024" : echom "WHAT?!" :endif ~~~ 這次Vim_會_顯示了!為什么會這樣? 為了搞懂發生了什么,執行下面三個命令: ~~~ :echom "hello" + 10 :echom "10hello" + 10 :echom "hello10" + 10 ~~~ 第一個命令使得Vim輸出`10`,第二個命令輸出`20`,第三個則又一次輸出`10`! 在探究了所有的命令后,對于Vimscript我們可以得出結論: * 如有必要,Vim將強制轉換變量(和字面量)的類型。在解析`10 + "20foo"`時,Vim將把`"20foo"`轉換成一個整數(`20`)然后加到`10`上去。 * 以一個數字開頭的字符串會被強制轉換成數字,否則會轉換成`0` * 在所有的強制轉換完成_后_,當`if`的判斷條件等于非零整數時,Vim會執行`if`語句體。 ## Else 和 Elseif Vim,像Python一樣,支持"else"和"else if"分句。執行下面的命令: ~~~ :if 0 : echom "if" :elseif "nope!" : echom "elseif" :else : echom "finally!" :endif ~~~ Vim輸出`finally!`,因為前面的判斷條件都等于0,而0代表falsy。 ## 練習 來一杯啤酒,安撫自己因Vim中的字符串強制轉換而受傷的心。
                  <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>

                              哎呀哎呀视频在线观看