8.16.0.2
2.4 管道与匿名函数
2.4.1 匿名函数与it
在一些小众语言中可能会见过it关键字,它指代该条语句为匿名函数:
(+ 1 it) (lambda (it) (+ 1 it))
以上两条代码可视为等价,换言之,第一条可展开为第二条语句。需要注意的是,it仅能用在特定的语法中,不能随处使用。
Example:
2.4.2 管道语法
syntax
(->> 值 管道 ...)
值 = 任何表达式 管道 = it表达式 | 副作用表达式 | 中断表达式 it表过式 = 普通表达式 | 带有it关键词表达式 副作用表达式 = (! 表达式) 中断表达式 = (break 任何值)
创建一个管道,值依次流经每个管道。
Example:
->>还可以接受普通的单参数函数。
Example:
同时它还能提前中断。
Example:
2.4.3 组合函数
syntax
(>-> 管道 ...+)
管道 = 普通函数 | 带有it关键字函数 | 副作用区块 副作用区域 = (! 普通函数或带有it关键字函数)
Examples:
副作用区域可以让你做些小动作,而不改变数值。
Examples:
syntax
(<-< 管道 ...+)
>->参数反向版本,使用方式完全一致。