Gleam 是一种类型安全且可扩展的编程语言,可用于 Erlang 虚拟机和 JavaScript 运行时。
最近发布的 0.25 版本引入了一项期待已久的新特性:use
表达式(use
expressions)。
官方介绍称,use
表达式是一种语法糖,它将所有后续表达式转换为一个匿名函数,该函数作为附加参数传递给函数调用。
例如,假设有一个待调用的函数with_file
,它会打开一个文件,将打开的文件传递给给定的函数,以便它可以读取或写入它,然后关闭文件。
// Define the function
pub fn with_file(path, handler) {
let file = open(path)
handler(file)
close(file)
}
// Use it
pub fn main() {
with_file("pokemon.txt", fn(file) {
write(file, "Oddish\n")
write(file, "Farfetch'd\n")
})
}
通过使用use
,此函数可以在没有额外缩进的情况下调用。下面使用use
的示例会编译成与上面完全相同的代码。
pub fn main() {
use file <- with_file("pokemon.txt")
write(file, "Oddish\n")
write(file, "Farfetch'd\n")
}
而且它不仅限于单个参数,还可以使用任何参数的函数,包括不接受任何参数的函数。
发布公告 | Release Notes