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

                合規國際互聯網加速 OSASE為企業客戶提供高速穩定SD-WAN國際加速解決方案。 廣告
                毫無疑問,Vimscript函數可以接受參數。執行下面的命令: ~~~ :function DisplayName(name) : echom "Hello! My name is:" : echom a:name :endfunction ~~~ 執行下面的函數: ~~~ :call DisplayName("Your Name") ~~~ Vim將顯示兩行:`Hello! My name is:`?和?`Your Name`。 注意我們傳遞給`echom`命令的參數前面的`a:`。這表示一個變量的作用域,在前幾章(譯注:第20章)我們曾講過。 讓我們試一下不帶作用域前綴會怎么樣。執行下面的命令: ~~~ :function UnscopedDisplayName(name) : echom "Hello! My name is:" : echom name :endfunction :call UnscopedDisplayName("Your Name") ~~~ 這次Vim抱怨說它找不到變量`name`。 在寫需要參數的Vimscript函數的時候,你_總需要_給參數加上前綴`a:`,來告訴Vim去參數作用域查找。 ## 可變參數 Vimscript函數可以設計為接受不定數目的參數,就像Javascript和Python中的一樣。執行下面命令: ~~~ :function Varg(...) : echom a:0 : echom a:1 : echo a:000 :endfunction :call Varg("a", "b") ~~~ 這個函數向我們展示了許多東西,讓我們來逐一審視。 函數定義中的`...`說明這個函數可以接受任意數目的參數。就像Python函數中的`*args` 函數中的第一行為輸出消息`a:0`,結果顯示`2`。當你在Vim中定義了一個接受可變參數的函數,`a:0`將被設置為你額外給的參數數量(譯注:注意是額外的參數數量)。 剛才我們傳遞了兩個參數給`Varg`,所以Vim顯示`2`。(譯注:2 - 0 ==# 2) 第二行為輸出`a:1`,結果顯示`a`。你可以使用`a:1`,`a:2`等等來引用你的函數接受的每一個額外參數。 如果我們用的是`a:2`,Vim就會顯示"b" 第三行有些費解。當一個函數可以接受可變參數,`a:000`將被設置為一個包括所有傳遞過來的額外參數的列表(list)。 我們還沒有講過列表,所以不要太糾結于此。你不能對列表使用`echom`,因而在這里用`echo`代替。 你也可以將可變參數和普通參數一起用。執行下面的命令: ~~~ :function Varg2(foo, ...) : echom a:foo : echom a:0 : echom a:1 : echo a:000 :endfunction :call Varg2("a", "b", "c") ~~~ 我們可以看到Vim將`"a"`作為具名參數(named argument)`a:foo`的值,將余下的塞進可變參數列表中。 ## 賦值 試試執行下面的命令: ~~~ :function Assign(foo) : let a:foo = "Nope" : echom a:foo :endfunction :call Assign("test") ~~~ Vim將拋出一個錯誤,因為你不能對參數變量重新賦值。現在執行下面的命令: ~~~ :function AssignGood(foo) : let foo_tmp = a:foo : let foo_tmp = "Yep" : echom foo_tmp :endfunction :call AssignGood("test") ~~~ 這次就可以了,Vim顯示`Yep`。 ## 練習 閱讀`:help function-argument`的前兩段。 閱讀`:help local-variables`。
                  <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>

                              哎呀哎呀视频在线观看