Skip to content

Commit fb9a16d

Browse files
committed
fix: update order list
1 parent c00a1fa commit fb9a16d

File tree

1 file changed

+7
-13
lines changed

1 file changed

+7
-13
lines changed

编程/2021-03-10-a-closer-look-at-roamrender-zh-translation.md

Lines changed: 7 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -83,19 +83,13 @@ Roam 就好像一把优秀的瑞士军刀,竟然包含一个完整的 ClojureS
8383

8484
这里的内容很多。让我们借此机会学习一下 Clojure 数据结构。我正在向自定义组件传递六个参数。除了这六个参数之外,Roam 默认将 block-uid 作为第一个参数传递。如果你想深入了解 Clojure 数据结构,我推荐这篇[文章](_COPY11@daniel.oliver.king/getting-work-done-in-clojure-the-building-blocks-39ad82796926)
8585

86-
第一个参数是`block-uid`。它是作为一个单一元素的 map 传递的。
87-
88-
接下来,我添加到组件的第一个参数是一个 integer 整数。我可以简单地把它作为一个数字传递给组件。
89-
90-
然后是一个 string 字符串。Clojure 只接受双 "引号" 标记的字符串。单个 '引号'(单引号)有不同的含义。使用`'`会产生一个不被计算的形态,下文还会提到如何在 datalog 查询中使用单引号。
91-
92-
第三个输入参数是一个 vector。请注意,在 Clojure 中,你可以用空格隔开一个 vector 的多个元素。这个 vector 总共有四个元素,三个字符串,一个整数。
93-
94-
接下来是一个有三个 keys-values 的 map。你可以使用 "string" 作为 key,就像在 JavaScript 对象中一样,然而,Clojure 还提供了使用`:keywords` 作为 key 的方式。关键词以 `:` 冒号开头。你可以使用 `,` 逗号来分隔 key-value 键值对,但这不是必须的。注意在输入中我没有使用逗号。
95-
96-
第 4 个参数是一个 list 列表。列表的主要用途是表示未被计算的代码,在你进行元编程时,用来编写**生成或操作**其他代码的代码。
97-
98-
最后一个参数是一个 set 集合。set 和 vector 很像,关键的区别是 set 中的每个值都是唯一的。同样根据设计,set 中每一项的顺序是任意的。
86+
- 第 0 个参数是`block-uid`。它是作为一个单一元素的 map 传递的。
87+
- 接下来,我添加到组件的第一个参数是一个 integer 整数。我可以简单地把它作为一个数字传递给组件。
88+
- 然后是一个 string 字符串。Clojure 只接受双 "引号" 标记的字符串。单个 '引号'(单引号)有不同的含义。使用`'`会产生一个不被计算的形态,下文还会提到如何在 datalog 查询中使用单引号。
89+
- 第三个输入参数是一个 vector。请注意,在 Clojure 中,你可以用空格隔开一个 vector 的多个元素。这个 vector 总共有四个元素,三个字符串,一个整数。
90+
- 接下来是一个有三个 keys-values 的 map。你可以使用 "string" 作为 key,就像在 JavaScript 对象中一样,然而,Clojure 还提供了使用`:keywords` 作为 key 的方式。关键词以 `:` 冒号开头。你可以使用 `,` 逗号来分隔 key-value 键值对,但这不是必须的。注意在输入中我没有使用逗号。
91+
- 第五个参数(Arg 4)是一个 list 列表。列表的主要用途是表示未被计算的代码,在你进行元编程时,用来编写**生成或操作**其他代码的代码。
92+
- 最后一个参数是一个 set 集合。set 和 vector 很像,关键的区别是 set 中的每个值都是唯一的。同样根据设计,set 中每一项的顺序是任意的。
9993

10094
代码本身是自解释的。你应该注意到我是如何使用`[:b]`,相当于`<b>...</b>` 用来表示粗体文本。[clojure.core/map-indexed](https://clojuredocs.org/clojure.core/map-indexed)将把输入向量 args 中的每个元素传给匿名函数`fn[i n]`,其中`i`是索引号,`n`是正在处理的 vector 的当前元素。
10195

0 commit comments

Comments
 (0)