了解红块评估
Understanding Red Block Evaluation
刚开始使用 Red,我很难理解如何评估块。以下给我一个 *** Script Error: panel has no value
错误:
Red [
needs: 'view
]
my-panel: [
panel 300x300 [
text "World"
]
]
view [
title "Hello"
do my-panel
]
如果我内联 my-panel
块的内容,我可以让它工作,但找不到一种方法来拆分代码,然后将它包含在视图函数的块中。谁能给我一个真正快速的指针,指出上面的代码有什么问题?
红色语言包含多个 DSL,您在 view
调用后使用的是 VID。 do
这个词在不同的上下文中有不同的含义。在 Red 常规语言中,它评估一个 Red Code 块,在 VID 中,它是一个关键字,允许将 Red 代码嵌入到 VID 中。到目前为止一切顺利,但您没有将红色代码块传递给 do
,而是传递了 VID 代码块。
我猜你想要实现的是动态插入 my-panel
块。这可以使用不同的方法来实现,最简单的方法是使用 compose
函数:
Red [
needs: 'view
]
my-panel: [
panel 300x300 [
text "World"
]
]
view compose [
title "Hello"
(my-panel)
]
如果您需要更具交互性的帮助,我们在 Gitter 上有几个 chat rooms。
干杯!
刚开始使用 Red,我很难理解如何评估块。以下给我一个 *** Script Error: panel has no value
错误:
Red [
needs: 'view
]
my-panel: [
panel 300x300 [
text "World"
]
]
view [
title "Hello"
do my-panel
]
如果我内联 my-panel
块的内容,我可以让它工作,但找不到一种方法来拆分代码,然后将它包含在视图函数的块中。谁能给我一个真正快速的指针,指出上面的代码有什么问题?
红色语言包含多个 DSL,您在 view
调用后使用的是 VID。 do
这个词在不同的上下文中有不同的含义。在 Red 常规语言中,它评估一个 Red Code 块,在 VID 中,它是一个关键字,允许将 Red 代码嵌入到 VID 中。到目前为止一切顺利,但您没有将红色代码块传递给 do
,而是传递了 VID 代码块。
我猜你想要实现的是动态插入 my-panel
块。这可以使用不同的方法来实现,最简单的方法是使用 compose
函数:
Red [
needs: 'view
]
my-panel: [
panel 300x300 [
text "World"
]
]
view compose [
title "Hello"
(my-panel)
]
如果您需要更具交互性的帮助,我们在 Gitter 上有几个 chat rooms。
干杯!