Crystal中的速记块语法

Cha*_*gan 4 crystal-lang

是否可以为Crystal中的块使用简写形式,例如

my_array.sort_by(&:size)
Run Code Online (Sandbox Code Playgroud)

尝试返回错误:

...应该是函数类型,而不是符号

dim*_*mid 5

您可以使用以下语法:

my_array = ["123", "22", "1"]
sorted = my_array.sort_by &.size
puts sorted
=> ["1", "22", "123"]
Run Code Online (Sandbox Code Playgroud)

  • 检查http://crystal-lang.org/2013/09/15/to-proc.html,它可以解释`&.`的效果优于`&:`的某些原因 (5认同)