Linux中國

用 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 的安裝過程提供了有用的反饋。

The emojicode installation procedure provides useful feedback along the way.

現在,你已經安裝好了,是時候開始編寫代碼了!

它是怎麼運作的?

首先,所有 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

本文由 LCTT 原創編譯,Linux中國 榮譽推出


本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive

對這篇文章感覺如何?

太棒了
0
不錯
0
愛死了
0
不太好
0
感覺很糟
0
雨落清風。心向陽

    You may also like

    Leave a reply

    您的電子郵箱地址不會被公開。 必填項已用 * 標註

    此站點使用Akismet來減少垃圾評論。了解我們如何處理您的評論數據

    More in:Linux中國