【问题标题】:How do I use loops in Oz?如何在 Oz 中使用循环?
【发布时间】:2014-05-27 09:07:43
【问题描述】:

来自本文档:http://mozart.github.io/mozart-v1/doc-1.4.0/loop/node1.html

我得到了迭代的基本循环用法:

for X in SomeList do
   % ...
end

还有数字:

for X in x..y do
   % ...
end

但是解释的“功能”没有例子。它只是说您通过“break:B”中断并通过“continue:C”继续,但它没有给出如何在实际代码中使用它的示例。我以为这意味着:

local X in
   break:X

   for Y in 1..5 do
      {Browse Y}

      if Y > 3 then {X} end
   end
end

但是break:X 不是一个有效的声明。

谁能给我一些如何使用“break:B”和“while:E”等功能的例子。


wmeyer 发表评论后尝试失败:

local X in
   X = {NewCell [1 2 3 4 5 6 7 8 9 0]}
   for while:@X\=nil do
      {Browse @X.1}
      @X := @X.2
   end
end

for ... 行上的解析错误。如何使用while 功能?

【问题讨论】:

    标签: oz mozart


    【解决方案1】:

    循环“特征”必须在 for 循环本身中指定。

    for Y in 1..5 break:X do
        {X}
    end
    

    (据我所知。我没有测试过。)

    【讨论】:

    • 谢谢。这让breakcontinue 工作,但我仍然无法让whileuntil 工作(见更新)
    • 我认为问题出在您尝试使用的不等于运算符上。在 Oz 中应该是 \=
    • 我不知道,谢谢!知道为什么循环仍然只打印 1 然后退出吗?
    • 分配给单元格时,您不需要左侧的@。只需X := @X.2
    • 哎呀,错字...谢谢
    猜你喜欢
    • 2014-05-05
    • 1970-01-01
    • 2015-12-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-11-30
    • 2014-11-01
    相关资源
    最近更新 更多