mirror of
https://github.com/LCTT/TranslateProject.git
synced 2024-12-26 21:30:55 +08:00
197 lines
7.2 KiB
Markdown
197 lines
7.2 KiB
Markdown
[#]: subject: "Write a cute program with Emojicode"
|
||
[#]: via: "https://opensource.com/article/23/4/emojicode"
|
||
[#]: author: "Jessica Cherry https://opensource.com/users/cherrybomb"
|
||
[#]: collector: "lkxed"
|
||
[#]: translator: "geekpi"
|
||
[#]: reviewer: "wxy"
|
||
[#]: publisher: "wxy"
|
||
[#]: url: "https://linux.cn/article-15699-1.html"
|
||
|
||
用 Emojicode 写一个可爱的程序
|
||
======
|
||
|
||
![][0]
|
||
|
||
> 这种有趣的开源语言是学习编码真正的完美选择。
|
||
|
||
在这篇文章中,我将介绍一个最好的编码语言,学习如何制作任何东西!它叫做 Emojicode,是由 Theo Belaire 在 2014 年创建的,它是一种开源的编程语言,使用 emoji 字符来表示其语法。当用 Emojicode 开发时,表情符被用来创建变量、函数和控制结构。因为它是一种静态类型的语言,变量类型必须在使用前声明,但它也支持类和继承等面向对象的概念。这种语言可以在每个操作系统上运行,它是一种超级有趣的编码方式,特别是当你是一个非英语母语的人时。这很有帮助,因为象形表示可以把我们大家聚集在一起,让我们以类似数学的方式说同样的语言。
|
||
|
||
### 先决条件
|
||
|
||
在本教程中,我使用的是基于 Debian 的操作系统。我的工具可能与你的操作系统的要求不同。以下是我所使用的工具:
|
||
|
||
- [Geany][1],一个 Linux 下的开源 IDE。
|
||
- IBus,它允许你挑选表情符并把它们放在你的编辑器中。我使用的界面被称为 **emoji picker**。
|
||
- 基于 Debian 的 Linux。
|
||
- 一个 C++ 编译器。我使用的是 `g++` 编译器。
|
||
- [Emojicode][2]
|
||
|
||
我使用的是 Linux 操作系统,但你可以 [阅读文档][3] 了解在其他操作系统上使用它时可能需要采取的任何特殊步骤。
|
||
|
||
### 在 Linux 上安装 Emojicode
|
||
|
||
有几种方法可以在你的电脑上安装 Emojicode,但它们有一个很酷的 [神奇的安装页面][4],可以告诉你具体该怎么做。下面是我的做法:
|
||
|
||
```
|
||
$ 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.][5]
|
||
|
||
现在,你已经安装好了,是时候开始编写代码了!
|
||
|
||
### 它是怎么运作的?
|
||
|
||
首先,所有 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
|
||
```
|
||
|
||
我试图让它工作,我的编译器出现了一些问题,我发现了这个问题。你也可能会在这里和那里遇到一些小问题。如果你遇到了,请创建一个 [议题][6],这样它就有可能被修复。
|
||
|
||
### 没有技巧,只有很棒的代码
|
||
|
||
虽然我可以介绍更多内容,但我可以向你保证,这段令人惊叹的代码背后的文档非常丰富。尽管我写这篇文章只是为了赶上愚人节的乐趣,但我不得不承认这是有史以来最好的语言之一,因为它教会了你很多非常真实的编程概念。我恳切地建议把它作为一种有趣的方式来教你的一些朋友、孩子,或者是对编码感兴趣的同学。希望你度过了一个充满乐趣的愚人节!
|
||
|
||
--------------------------------------------------------------------------------
|
||
|
||
via: https://opensource.com/article/23/4/emojicode
|
||
|
||
作者:[Jessica Cherry][a]
|
||
选题:[lkxed][b]
|
||
译者:[geekpi](https://github.com/geekpi)
|
||
校对:[wxy](https://github.com/wxy)
|
||
|
||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
|
||
|
||
[a]: https://opensource.com/users/cherrybomb
|
||
[b]: https://github.com/lkxed/
|
||
[1]: https://github.com/geany/geany
|
||
[2]: https://github.com/emojicode/emojicode
|
||
[3]: https://www.emojicode.org/docs/
|
||
[4]: https://www.emojicode.org/docs/guides/
|
||
[5]: https://opensource.com/sites/default/files/2023-03/emoji.webp
|
||
[6]: https://github.com/emojicode/emojicode/issues
|
||
[0]: https://img.linux.net.cn/data/attachment/album/202304/07/141230yv2s53itmiw45ots.jpg |