最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

Vim9 和Vim腳本的差異(Vim9函數(shù)和變量)

2023-04-27 18:53 作者:北壹啊  | 我要投稿


  • 用?def?定義的函數(shù)是編譯的。執(zhí)行速度快很多倍,經(jīng)常10到100倍。

  • def函數(shù)總會在錯誤時自動abort。

  • 將來會增加類。取代“dict函數(shù)”機(jī)制。
    如今呢,需要顯式地傳遞字典。(暫時字典當(dāng)對象用,vim9的ad.func其實(shí)是ad[func],ad.item其實(shí)是ad[item])

比如這里ad.func是函數(shù)(func這個key的value),ad.item是數(shù)據(jù)成員(item這個key的value)
  • 函數(shù)必須指定 參數(shù)類型和返回類型。 “any”類型可以被使用,然后類型檢查將在運(yùn)行時完成,就像以前的老式函數(shù)一樣。There is no "a:" dictionary or "a:000" list。(舊Vim腳本的函數(shù)里,需要a:訪問函數(shù)內(nèi)變量,a:000表示整個函數(shù)的實(shí)參列表)

  • list類型,例如,一個數(shù)字列表(有點(diǎn)像C++里的容器模板)

  • 當(dāng)函數(shù)參數(shù)是可選的(它有一個缺省值)時傳遞 `v:none`,導(dǎo)致它使用缺省值

  • 參數(shù)“_”(下劃線)可用于忽略該參數(shù)。

  • 函數(shù)和變量默認(rèn)是script-local 的

    在 Vim9 腳本中,該函數(shù)是腳本的script-local?函數(shù)。就像遺留腳本使用 前綴“s:”描述的。要定義全局函數(shù)或變量,“g:”前綴必須使用

  • 腳本里要被別人導(dǎo)入和在自動載入腳本定義的函數(shù),需要使用"export",才能被別處使用。

  • 局部變量需用 `:var` 定義。局部常量需用 `:final` 或 `:const` 定義。我們把兩者都稱為 "變量"。

  • 變量可以局部于腳本、函數(shù)或代碼塊

  • 變量只在定義所在的塊和嵌套塊中可見。塊定義結(jié)束后,變量不再可訪問

  • 變量必須在使用之前進(jìn)行聲明:

簡單值有更簡短和更快的方法:聲明的同時初始化。

簡單值有更簡短和更快的方法:聲明的同時初始化。

  • Vim9 腳本中不能用 `:let`。已有的變量可直接賦值,不需要任何命令。

  • 全局變量必須帶上 "g:" 前綴。

  • 全局函數(shù)必須帶上 "g:" 前綴

  • 使用?:const?可以同時將變量和其value設(shè)置為不可修改,適用于希望確保不會被修改的復(fù)合結(jié)構(gòu)。

  • 使用?:final?可以將變量設(shè)置為不可修改,但是可以更改其value。

    • const 限制只適用于value本身,而不限制其value引用的value。

    • 可以使用 myList->add(123) 來調(diào)用 myList 列表對象的 add 方法,而不需要使用 eval("myList->add(123)")。這種用法可以提高代碼的可讀性和簡潔性。但需要注意,此方法只能在方法名開頭是標(biāo)識符或不能被解釋為 Ex 命令時使用。

    • Lambda表達(dá)式??使用?=>?而不是 ->

    lambda表達(dá)式寫法

    ?????????lambda 表達(dá)式的參數(shù)部分與箭頭符號 "=>" 之間不允許換行,以便 Vim 可以區(qū)分括號中的表達(dá)式和 lambda 表達(dá)式。實(shí)際例子:

    • 可變參數(shù):使用 "..._",它會讓函數(shù)接受可變參數(shù)。例如:

    此外,匿名函數(shù)可以包含 {} 包圍的多個語句

    lambda表達(dá)式,使用花括號包圍多個語句。



    Vim9 和Vim腳本的差異(Vim9函數(shù)和變量)的評論 (共 條)

    分享到微博請遵守國家法律
    阜阳市| 华池县| 聂荣县| 屯留县| 行唐县| 浦江县| 遂昌县| 广汉市| 灌阳县| 宜川县| 阿勒泰市| 历史| 洛扎县| 九寨沟县| 和林格尔县| 永靖县| 尉犁县| 沛县| 澎湖县| 白河县| 广元市| 手游| 陕西省| 平和县| 南涧| 米易县| 壶关县| 龙游县| 江陵县| 阳朔县| 洛川县| 静宁县| 南召县| 八宿县| 曲阳县| 大同市| 长乐市| 吴堡县| 杭锦后旗| 邯郸市| 蕲春县|