是否可以在Crystal中进行单线循环?

问题描述 投票:2回答:2

我只是在学习Crystal,并且正在阅读许多有关该语言的内容。来自Ruby,我正在尝试一些以前使用过的东西,例如单行循环:

x += 1 until x === 5

但是,Crystal不支持此功能,是吗?

In src/utils.cr:30:15

 30 | x += 1 until x === 5
             ^
Error: trailing `until` is not supported

是否可以在Crystal中进行单线循环?

loops syntax crystal-lang
2个回答
3
投票
Crystal不支持后缀whileuntil

但是,您经常可以将循环替换为0.upto(5) { |x| ... }


0
投票
由于错误消息状态,确实不允许跟踪循环条件,甚至在language FAQ on that中甚至有一部分。

要在Crystal中压缩单行循环,可以使用冒号,即:

until x === 5; x += 1; end

[我也被指出Crystal-for-Rubyists的写作。
© www.soinside.com 2019 - 2024. All rights reserved.