summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--content/posts/稻草人周刊-vol-16.md61
1 files changed, 53 insertions, 8 deletions
diff --git a/content/posts/稻草人周刊-vol-16.md b/content/posts/稻草人周刊-vol-16.md
index dad74410..a0a9ba20 100644
--- a/content/posts/稻草人周刊-vol-16.md
+++ b/content/posts/稻草人周刊-vol-16.md
@@ -1,11 +1,14 @@
---
title: 稻草人周刊 Vol.16
-subtitle:
-description:
-tags:
-date: 2025-02-10 22:23:01
+subtitle: 为什么你说话别人不爱听
+description: 黑客与画家、卡夫卡的判决、丧偶与新生、没人看写什么博客、赞美 Lua 语言、蛋挞
+tags:
+ - 编程
+ - 游戏开发
+ - 写作
+date: 2025-02-17 09:49:48
categories: 稻草人周刊
-draft: true
+draft: false
toc: true
---
@@ -13,9 +16,9 @@ toc: true
## 🏃 这周做了什么?
-正在制作一款名叫 Heart Hunter 的电子游戏,因为画面过于简陋所以就先不放出来了。大致玩法是带有收集要素的射击游戏,玩家的生命条、子弹和物品栏都是同一个东西,攻击敌人的方式就是射出心脏,玩家能收集到的道具也是不同种类、有不同效果的心脏。
+正在制作一款名叫 Heart Hunter 的电子游戏,因为画面过于简陋所以就先不放出来了。这个游戏使用 [LÖVE 引擎](https://love2d.org) 和 Lua 语言开发,如果你有编程基础,相信我,这个框架非常容易上手,Lua 语言也十分简单。
-这个游戏使用 [LÖVE 引擎](https://love2d.org) 和 Lua 语言开发,如果你有编程基础,相信我,这个框架非常容易上手,Lua 语言也十分简单。
+{{< img src="https://image.guhub.cn/uPic/2025/02/image-20250217092215040.png" >}}
## 📚 这周读了什么?
@@ -118,7 +121,47 @@ toc: true
### Lua 语言的表
-……
+Lua 语言不直接支持面向对象编程,对象是用 `table` 和它的元表实现的;Lua 也没有数组,数组就是索引为数字的 `table`(而且不是从 0 开始,是从 1 开始的);Lua 没有枚举类型,枚举是索引为字符串,值为数字的 `table`。使用下来,我感觉 `table` 的易用性差点可以媲美 JSON。
+
+`table` 的写法如下:
+
+```lua
+array = { "I", "am", "an", "array" }
+-- 这等价于
+-- array = {
+-- 1 = "I",
+-- 2 = "am",
+-- ...
+-- }
+
+enums = {
+ TOP = 1, BOTTOM = 2, LEFT = 3, RIGHT = 4
+}
+```
+
+要遍历 `table` 也非常方便。
+
+```lua
+for k, v in tbl do
+ -- ...
+end
+```
+
+`table` 可以用来写模块,Lua 的模块几乎不需要用太多的代码来定义。
+
+```lua
+local module1 = {}
+
+module1.variable = 1
+
+function module1.doSomething()
+ -- ...
+end
+
+return module1
+```
+
+元表(metatable)是一个有点难理解的概念,它是附属于 `table` 存在的,可以用 `setmetatable()` 函数为一个表设置它的元表,元表也可以是这个表自己。元表可以用来修改算数操作(如果你用表定义了一个向量,那么你可以用元表来定义向量的 `+` 加法运算)、自定义索引规则(例如在访问一个不存在的索引时,返回一个默认值)、自定义字符串表示(类似 Java 的 `toString()` 方法),还有一些其他的控制行为。
## 🗣️ 碎碎念
@@ -132,6 +175,8 @@ toc: true
## 🐈
+{{< img src="https://image.guhub.cn/uPic/2025/02/IMG_2612%E5%A4%A7.jpeg" title="巧克力和火腿味的蛋挞…… 不敢恭维" >}}
+
[^1]: 书中有一篇文章是《防止垃圾邮件的一种方法》,通篇都在介绍一种算法,或者说解决问题的思路,我读起来也觉得相当无聊,大概是因为我不是黑客吧。
[^2]: 其实还有一次是我差点溺死,但那次只是纯粹的恐惧。
[^3]: 读书也要看人,如果你身边有不怎么爱看书,也不会说话的长辈,我其实相当推荐你让他们去读这本书。不过,这大概是不太可能的。¯\_(ツ)_/¯ \ No newline at end of file