使用红色语言添加系列中的GUI项目

时间:2017-09-16 00:00:08

标签: user-interface red

我想从系列中添加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 

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

2 个答案:

答案 0 :(得分:2)

请记住......

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

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

别忘了方言只是像Red中其他任何东西的价值块。您可以预先构建它:

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

您可以在PROBEVIEW之间添加COLLECT以查看您正在生成的内容,COLLECT/KEEP为您提供了大量调整值的范围最终会出现在您的视图规范中。

答案 1 :(得分:1)

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

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

view [
   VID dialect goes here ...
   do [ do dialect stuff that could initialize gui elements go here ]
]