用 Emojicode 寫一個可愛的程序
這種有趣的開源語言是學習編碼真正的完美選擇。
在這篇文章中,我將介紹一個最好的編碼語言,學習如何製作任何東西!它叫做 Emojicode,是由 Theo Belaire 在 2014 年創建的,它是一種開源的編程語言,使用 emoji 字元來表示其語法。當用 Emojicode 開發時,表情符被用來創建變數、函數和控制結構。因為它是一種靜態類型的語言,變數類型必須在使用前聲明,但它也支持類和繼承等面向對象的概念。這種語言可以在每個操作系統上運行,它是一種超級有趣的編碼方式,特別是當你是一個非英語母語的人時。這很有幫助,因為象形表示可以把我們大家聚集在一起,讓我們以類似數學的方式說同樣的語言。
先決條件
在本教程中,我使用的是基於 Debian 的操作系統。我的工具可能與你的操作系統的要求不同。以下是我所使用的工具:
- Geany,一個 Linux 下的開源 IDE。
- IBus,它允許你挑選表情符並把它們放在你的編輯器中。我使用的界面被稱為 emoji picker。
- 基於 Debian 的 Linux。
- 一個 C++ 編譯器。我使用的是
g++
編譯器。 - Emojicode
我使用的是 Linux 操作系統,但你可以 閱讀文檔 了解在其他操作系統上使用它時可能需要採取的任何特殊步驟。
在 Linux 上安裝 Emojicode
有幾種方法可以在你的電腦上安裝 Emojicode,但它們有一個很酷的 神奇的安裝頁面,可以告訴你具體該怎麼做。下面是我的做法:
$ wget https://github.com/emojicode/emojicode/releases/download/v1.0-beta.2/Emojicode-1.0-beta.2-Linux-x86_64.tar.gz -O emojicode.tar.gz
&& tar -xzf emojicode.tar.gz && rm emojicode.tar.gz
&& cd Emojicode-1.0-beta.2-Linux-x86_64 && ./install.sh
&& cd .. && rm -r Emojicode-1.0-beta.2-Linux-x86_64
Emojicode 的安裝過程提供了有用的反饋。
現在,你已經安裝好了,是時候開始編寫代碼了!
它是怎麼運作的?
首先,所有 Emojicode 文件的擴展名都以文件名 .?
結尾,但因為你不能在一般的文件名中這樣做,所以它被翻譯成 filename.emojic
。這裡是最重要的語法元素:
- 把
?
放在一行的開頭,表示要執行哪些代碼塊 - 用
?
開始一個代碼塊 - 用
?
來結束一個代碼塊 - 想列印什麼嗎?就用
? ? <string> ? ❗
還有很多其他的,所以這裡有一些實際的例子。
列印一首俳句
首先,試著列印一首漂亮的俳句來玩玩吧! 在這個例子中,我將添加一行注釋。看看你是否能識別它。
??
? This is a single line comment for fun
? ?Emojicode is great,? ❗
? ?Fun and expressive code,? ❗
? ?no sadness, just joy.? ❗
?
現在我們需要保存我們的代碼,並通過我們的編譯器運行它,使之成為一個漂亮的可執行文件:
$ emojicodec haiku.emojic
$ ls
haiku haiku.emojic haiku.o
正如你所看到的,代碼已經被編譯並生成了兩個文件,其中一個是可執行的。運行 haiku
文件:
$ ./haiku
Emojicode is great,
Fun and expressive code,
no sadness, just joy.
數學和變數操作
接下來,你要同時做幾件事:一點點數學和變數的改變。首先,將一個變數賦值為 0:
0 ➡️ ??x
你剛剛使用蠟筆(?
)表情符、新建(?
)表情符和變數名稱創建了一個新變數,同時還將該變數賦值為 0。
接下來,用磁鐵(?
)表情符列印一行包括該變數的內容:
? ?The value is ?x? ? ❗
接下來,使用加號(➕
)和箭頭(⬅️
)表情符改變變數:
x ⬅️➕ 1
然後列印另一行的值。如此這般,然後列印出最終的數值。如下:
? ?
?Updating a variable using math
0 ➡️ ??x
? ?The value is ?x? ? ❗
x ⬅️➕ 1
? ?The value is ?x? ? ❗
x ⬅️➕ 15
? ?The value is ?x? ? ❗
x ⬅️➖ 9
? ?The value is ?x? ? ❗
x ⬅️➗ 2
? ?The final value is ?x? ? ❗
?
接下來,用 emojicodec
編譯代碼,然後用你的可執行代碼來看看結果:
$ emojicodec math.emojic
$ ./math
The value is 0
The value is 1
The value is 16
The value is 7
The final value is 3
如你所見,作為變數列印出來的所有內容都已使用新數學進行了更新。你可以用許多數學表情符來進一步操作。下面是一些更多的運算符:
? is your modulo
◀ Less than
▶ Greater than
◀? less than or equal to
▶? greater than or equal to
Emojicode 的怪癖
當我在文檔中來回查看時,我發現了一些有趣的怪癖。其中之一是,當從用戶那裡抓取輸入時,由於一些已知的編譯器問題,耳朵的膚色很重要。
獲取用戶輸入的動作是這樣的:
??▶️??❗️
獲取和分配用戶輸入的操作是這樣的:
??▶️??❗️ ➡️ inputText
我試圖讓它工作,我的編譯器出現了一些問題,我發現了這個問題。你也可能會在這裡和那裡遇到一些小問題。如果你遇到了,請創建一個 議題,這樣它就有可能被修復。
沒有技巧,只有很棒的代碼
雖然我可以介紹更多內容,但我可以向你保證,這段令人驚嘆的代碼背後的文檔非常豐富。儘管我寫這篇文章只是為了趕上愚人節的樂趣,但我不得不承認這是有史以來最好的語言之一,因為它教會了你很多非常真實的編程概念。我懇切地建議把它作為一種有趣的方式來教你的一些朋友、孩子,或者是對編碼感興趣的同學。希望你度過了一個充滿樂趣的愚人節!
via: https://opensource.com/article/23/4/emojicode
作者:Jessica Cherry 選題:lkxed 譯者:geekpi 校對:wxy
本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive