【问题标题】:Haxe - FOR as an inline expressionHaxe - FOR 作为内联表达式
【发布时间】:2019-08-16 14:16:31
【问题描述】:

有可能做这样的事情吗?

trace( for(a in array) a );

我见过它在填充数组时使用:

var numbers = [ for (i in 0...100) i ];

但似乎不能作为一个整体表达?

【问题讨论】:

    标签: arrays for-loop expression haxe


    【解决方案1】:

    for 可以在array comprehension(如您提到的)和map comprehension 中“作为值”使用。 whiledo...while 也是如此。

    在其他地方,不能这样使用循环。 Everything is an expression 很好地解释了这一点,使用与您给出的几乎相同的 trace 示例:

    某些表达式,例如循环或 var 声明作为值没有任何意义,因此它们将被键入为 Void,因此无法在需要值的地方使用。例如以下将无法编译:

    trace(for (i in 0...10) i); // ERROR: Cannot use Void as value
    

    【讨论】:

      猜你喜欢
      • 2017-12-31
      • 2012-03-31
      • 2012-02-28
      • 1970-01-01
      • 2010-10-08
      • 1970-01-01
      • 2020-01-12
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多