【问题标题】:Is it possible to do one-line loops in Crystal?是否可以在 Crystal 中进行单行循环?
【发布时间】:2019-12-22 16:35:38
【问题描述】:

我刚刚学习 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


    【解决方案1】:

    Crystal 不支持后缀 whileuntil

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

    【讨论】:

      【解决方案2】:

      正如错误消息所述,确实不允许使用尾随循环条件,language FAQ on that 中甚至还有一个部分。

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

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

      我也被指向Crystal-for-Rubyists 的文章。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-10-19
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-11-19
        相关资源
        最近更新 更多