1

我想从一个系列中添加 GUI 项目。我正在尝试以下代码,但它不起作用:

mylist: ["first" "second" "third" "fourth" ]

view[
    foreach i mylist [
        text i  ]]

错误是:

*** Script Error: VID - invalid syntax at: [foreach ll mylist]
*** Where: do
*** Stack: view layout cause-error 

问题出在哪里,如何解决?感谢您的回答。

4

2 回答 2

2

请记住...

view [... what goes in here...]

...是一种方言,它不是常规代码。这是一种特殊的方言,具有一些评价性质,但通常的规则并不总是适用。

不要忘记,方言只是一个值块,就像 Red 中的其他任何东西一样。您可以这样预先构建它:

view collect [
    foreach i mylist [
        keep 'text keep i
    ]
]

您可以在两者PROBE之间放置一个来查看您正在生成的内容,并为您提供很大的空间来调整最终出现在您的视图规范中的值。VIEWCOLLECTCOLLECT/KEEP

于 2017-09-16T02:08:02.837 回答
1

你的问题是你在混合方言。您在 View 块中有一个 VID 方言,但您也在那里使用 DO 方言,View 不理解这种方言。

至少在 Rebol 中,您会do在 VID 方言中添加一个块作为初始化序列,例如。

view [
   VID dialect goes here ...
   do [ do dialect stuff that could initialize gui elements go here ]
]
于 2017-09-16T01:19:33.913 回答