Поведение анонимной функции Rebol странно - PullRequest
1 голос
/ 07 августа 2010

Мой анонимный тест func, приведенный ниже, выполняется только один раз:

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

Я обязан назвать его, чтобы иметь возможность выполнить его 5 раз, как ожидалось:

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

Это странно. неужели нельзя использовать анонимную функцию в циклах?

1 Ответ

4 голосов
/ 07 августа 2010

Ваш первый пример кода просто определяет анонимную функцию пять раз.Это не вызывает это.Добавьте do и все должно быть хорошо:

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

test1
test2
test3
test4
test5
...