日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

日语编程语言抚子 - 第三版特色初探

發(fā)布時(shí)間:2023/12/18 编程问答 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 日语编程语言抚子 - 第三版特色初探 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

它山之石可以攻玉. 學(xué)習(xí)其他的母語(yǔ)編程語(yǔ)言, 相信對(duì)中文編程語(yǔ)言的設(shè)計(jì)和實(shí)踐有借鑒意義. 本人剛剛開(kāi)始接觸"撫子"語(yǔ)言, 從官方文檔開(kāi)始探索. 以下試圖突出一些發(fā)現(xiàn)的特色和亮點(diǎn), 更完整的語(yǔ)法列表請(qǐng)見(jiàn)討論組主題帖.

一些背景資料: 官方網(wǎng)站

  • 第三版(最新)源碼庫(kù), 用JavaScript實(shí)現(xiàn), 代碼提交從2017/2至今
  • 第二版源碼庫(kù), 用C#實(shí)現(xiàn). 代碼提交從2010/6到2016/2.
  • 第一版源碼庫(kù), 用Pascal實(shí)現(xiàn), 最近仍然在更新. 最早代碼提交是2008年, 但應(yīng)該在更早幾年前就已經(jīng)成型.

下面的示例代碼源自第三版語(yǔ)法文檔. 限于日語(yǔ)水平, 對(duì)它的示例源碼也許有理解出入. 為方便理解, 已把它們轉(zhuǎn)成對(duì)應(yīng)的中文, 詞序有不少調(diào)整. 如發(fā)現(xiàn)大的出入, 非常歡迎到主題帖批評(píng)指正.

接近日語(yǔ)自然語(yǔ)言的語(yǔ)法

比如它允許多種方式賦值:

價(jià)格是3000 # 原代碼: 値段は3000 價(jià)格=2000 置價(jià)格為4000 # 値段に4000を代入。 復(fù)制代碼

很明顯它支持是無(wú)空格語(yǔ)法, 也同時(shí)支持傳統(tǒng)(=)賦值和接近自然語(yǔ)言的賦值方式. 這個(gè)風(fēng)格貫穿所有語(yǔ)法. 又如條件語(yǔ)句:

A = 4 如果A不是5顯示為「OK」 如果不是顯示為「NG」 直到這里。 復(fù)制代碼

暫時(shí)不確定空格縮進(jìn)是否像Python那樣必須, 還是僅為了代碼可讀性.

特別的'它'

加5到30,并乘以2來(lái)顯示它。 加5到30。 它乘以兩倍。 顯示它。 復(fù)制代碼

它的使用, 是一個(gè)特色. 個(gè)人感覺(jué)是內(nèi)置的匿名變量, 并且在函數(shù)沒(méi)有實(shí)參時(shí)默認(rèn)使用. 這是很接近自然語(yǔ)言的指代用法! 例如:

它是“ abc ” <--- 后面幾行都省略了'它' 空白刪除。 大寫轉(zhuǎn)換 用“*”替換“A” 顯示。 復(fù)制代碼

在函數(shù)中可以用它, 作為返回的默認(rèn)值:

●(A和B的)加法是它是A + B返回 直到這里 復(fù)制代碼

上例中即使沒(méi)有返回"它", 函數(shù)返回值仍然是它的值

它也會(huì)隨著函數(shù)執(zhí)行而更新, 如下示例, 函數(shù)體中沒(méi)有它, 但仍然顯示50

●(A和B的)加法是B添加到A 直到這里 30和7的加法. 顯示它. 復(fù)制代碼

精簡(jiǎn)的循環(huán)

'回?cái)?shù)'是個(gè)保留變量, 可以獲得當(dāng)前循環(huán)次數(shù)的序號(hào):

N=3 (N)次 &emsp;&emsp;顯示「這是第{回?cái)?shù)}次」。 直到這里。 復(fù)制代碼

也可以遍歷:

重復(fù)[1,2,3], 這里開(kāi)始顯示對(duì)象。 直到這里。 復(fù)制代碼

上面的對(duì)象應(yīng)該是類似回?cái)?shù)的內(nèi)置變量, 用以返回當(dāng)前循環(huán)對(duì)應(yīng)的值. (推測(cè)上面如果是顯示{回?cái)?shù)}的話, 應(yīng)該顯示0 1 2) 上面也可以用顯示它

對(duì)象按照鍵遍歷:

OBJ = {“Jan”:1,“Feb”:2,“Mar”:3,“Apr”:4} 重復(fù)OBJ顯示「{對(duì)象鍵} = {對(duì)象}月份」 直到這里。 復(fù)制代碼

這里也可以看到它支持JSON數(shù)據(jù)結(jié)構(gòu).

顯式聲明變量/常量

可帶初始化的聲明:

A是變量=30 B是常量=50 復(fù)制代碼

也可以簡(jiǎn)寫:

變量A=30 常量B=50 復(fù)制代碼

函數(shù)

支持遞歸和匿名函數(shù), 后者還未來(lái)得及細(xì)究(官方文檔在此)

允許內(nèi)嵌JavaScript

這是個(gè)非常重要的功能, 雖然沒(méi)有深入, 但個(gè)人理解是類似于Scala調(diào)用Java庫(kù)的功能, 因而"撫子"語(yǔ)言可以用于所有JavaScript可用的領(lǐng)域(包括前后端). 因?yàn)榇税媸窃贜PM發(fā)布的, 猜測(cè)JavaScript也可以調(diào)用撫子語(yǔ)言的模塊. 在缺乏自身的核心標(biāo)準(zhǔn)庫(kù)時(shí), 個(gè)人感覺(jué)新語(yǔ)言依托現(xiàn)有成熟語(yǔ)言的核心庫(kù)以及豐富的第三方庫(kù)對(duì)推廣來(lái)說(shuō)至關(guān)重要.

JavaScript回調(diào)事件參數(shù) <--- 此處不甚理解

參數(shù)這一內(nèi)置變量可以以數(shù)組形式獲取event參數(shù)的值。

●(A和B的)加法是它=參數(shù)[0] + 參數(shù)[1] 直到這里 顯示3和5的加法。 復(fù)制代碼

對(duì)移動(dòng)設(shè)備和輸入法的特別優(yōu)化

一個(gè)很有特色的功能是, 為了簡(jiǎn)便地訪問(wèn)數(shù)組/對(duì)象. 因?yàn)橹悄苁謾C(jī)很難輸入A[n](猜想因?yàn)閇]是在"符號(hào)"部分), 因此允許A@n. 這是第一次看到為了移動(dòng)設(shè)備而設(shè)計(jì)的功能.

其他

字符串展開(kāi)

感覺(jué)類似于Scala的功能(string interpolation). 復(fù)雜的字符串可以用S{{{...}}}(三對(duì)以上的大括號(hào))表示:

得分是35。 評(píng)價(jià)是「A」。 成績(jī)報(bào)告是S{{{★成績(jī)表★ ·他的分?jǐn)?shù)是{得分}。 ·評(píng)價(jià)是{評(píng)價(jià)}。}}} 顯示成績(jī)報(bào)告。 復(fù)制代碼

返回:

★成績(jī)表★ ?他的分?jǐn)?shù)是35。 ?評(píng)價(jià)是A。 復(fù)制代碼

轉(zhuǎn)載于:https://juejin.im/post/5d2f99d2e51d45775c73dd94

總結(jié)

以上是生活随笔為你收集整理的日语编程语言抚子 - 第三版特色初探的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。