1. <strong id="7actg"></strong>
    2. <table id="7actg"></table>

    3. <address id="7actg"></address>
      <address id="7actg"></address>
      1. <object id="7actg"><tt id="7actg"></tt></object>

        火了!16 歲高中生開發(fā)「粵語編程」項目

        共 1763字,需瀏覽 4分鐘

         ·

        2021-06-23 21:10

        自:機器之心
        粵語編程語言 ——The Cantonese Programming Language??磥泶蠹叶际?C 語言啊。

        最近十分搞笑的飲茶梗,刷新了大家對粵語的認知。


        其實粵語一直都是一個隱含著幽默感的方言,想想「旺角卡門」中的烏蠅哥,是不是腦海中已經回蕩起了學友哥的四字語音?而且毋庸置疑,粵語還是需要保護的文化遺產。

        那么,今天我們就給大家介紹一個有趣的粵語編程語言 GitHub 項目,其開發(fā)者 Stepfen Shawn 似乎(自稱)是來自廣州的十六歲高中生。目前,該項目的 star 量已經達到了 600+。雖然工作中不會用粵語寫代碼,但是空閑時玩一下粵語編程,難道不是件樂事嗎?


        項目地址:https://github.com/StepfenShawn/Cantonese

        粵語編程啟蒙

        下面列舉了粵語版「Hello World」以及一些基本的功能(循環(huán)、函數(shù)等),還涵蓋了面向對象編程和堆棧使用的示例。當然,還有各種有趣的編程語法細節(jié),比如用「搞掂」來結束函數(shù),用「使下」來調用庫。


        項目作者在《5 分鐘學會粵語編程》教程中解釋說,這里的「畀 (bei)」在粵語中是「給」的意思,「睇」是「看」的意思,所以整條語句的意思是「讓我看看」的意思,而后面的「點樣先?」則表示委婉的語氣,意為「怎么樣?」。對于這種有意思的互動,作者解釋說,「需要用委婉語氣來給計算機留下第一個好的印象,否則計算機可能會離家出走呢,對吧?」


        而賦值語句「講嘢 |A| 系 1」的「講嘢」是「說話」的意思,「係」就是「是」的意思。作者表示,編程時寫「系」也是能運行的。同樣的,「唔係」就是「不是」的意思,「定係」就是「還是」的意思。


        「落操場玩跑步...... 玩到 | 結束 | 為止」這個語句相當于一個 loop,「結束」就是 loop 的條件。

        而類似 break 的用法有三種:「收工」、「辛苦曬啦」、「同我躝」。前兩個很好理解,而第三個中的「躝」是「滾」的意思,所以使用哪個完全取決于你的心情。


        「嘅」的意思是「的」,有沒有感覺瞬間能讀懂了。


        「要做咩」直觀地告訴計算機該函數(shù)接下來要做什么,「搞掂」是「搞定」的意思,起到 end 的作用。


        「掟個...... 來睇下」的作用是拋出一個異常,其中「掟」有仍或丟的意思。而「諗」的意思是「想」,讓計算機作判斷。

        搜索公眾號后端架構師后臺回復“架構整潔”,獲取一份驚喜禮包。


        「執(zhí)嘢...... 揾到...... 執(zhí)手尾」對應著 try、except、finally?!笀?zhí)嘢」是收拾房間的意思,「揾到」是指收拾中找到破爛了,至于「執(zhí)手尾」,就是選擇丟不丟這個破爛了。


        講真,這個「使下」,比 import 更形象。


        沒想到吧,居然還能進行面向對象編程?!竵凇沟囊馑际恰杆?,代指一個對象;「佢嘅」意思是「它的」,能夠用來構造屬性;「佢識得」意思是「它會」,用來構造類的方法;「老豆」就是「爹」的意思,用于描述繼承關系。最后用「明白未啊」做結束語問計算機你明白了嗎,會讓計算機倍感親切,接受介紹給它的對象。


        這里的「Deo 哥」很明顯是個棧,「頂你」就是放入棧,「丟你」就是從棧取出。

        粵語編程進階

        下面列舉了一些粵語編程的進階玩法,比如二分查找、線性查找、冒泡排序、插入排序、KNN 等算法的實現(xiàn)。能看到這里,說明你很感興趣啊,那就繼續(xù)學吧。


        對你沒有看錯,由于此語言由 Python 開發(fā),還可以非常方便地編寫機器學習算法。



        此處為作者的靈魂畫作(號稱是海龜)。


        上圖是使用此語言開發(fā)的迷宮小游戲界面。

        代碼鏈接:https://github.com/StepfenShawn/Cantonese/blob/main/examples/games/game.cantonese

        下面是作者實現(xiàn)的網頁和 App 示例:


        加入語言的方式

        粵語編程語言運行在 Python 虛擬機上,支持 Python 3,使用方式如下:


        還可以轉化為 Python 運行:


        以及生成 HTML:

        瀏覽 31
        點贊
        評論
        收藏
        分享

        手機掃一掃分享

        分享
        舉報
        評論
        圖片
        表情
        推薦
        點贊
        評論
        收藏
        分享

        手機掃一掃分享

        分享
        舉報
        1. <strong id="7actg"></strong>
        2. <table id="7actg"></table>

        3. <address id="7actg"></address>
          <address id="7actg"></address>
          1. <object id="7actg"><tt id="7actg"></tt></object>
            91黄色精品 | 欧美激情导航 | 囯产精品久久久久久久久久久久久久 | 亚洲五月激情网 | 黄色一节片 | 扒开腿挺进湿润的花苞动漫 | 嫩嫩BBBBBBBBB免费网站 | 俺来也俺来啦Awww官网 | 日本无遮羞打光屁股网站 | 国产精品国产馆在线真实露脸 |