Rebol匿名函数行为很奇怪

时间:2010-08-07 09:19:52

标签: functional-programming rebol

我的匿名功能测试只执行一次:

repeat i 5 [
  func[test][
    print test
  ] rejoin ["test" i]
]

我有义务将其命名为能够按预期执行5次:

repeat i 5 [
  test: func[test][
    print test
  ] test rejoin ["test" i]
]

这很奇怪。是不是真的可以在循环中使用匿名函数?

1 个答案:

答案 0 :(得分:4)

您的第一个代码示例只需定义五次匿名函数。它没有调用它。添加执行,一切顺利:

repeat i 5 [
  do func[test][
    print test
  ] rejoin ["test" i]
]

test1
test2
test3
test4
test5