Red语言编译主程序时如何link其他脚本

How to link other scripts when compiling main program in Red language

我把一些函数的定义放在一个名为“funcs.red”的文件中,这些函数将被主程序调用。这是“funcs.red”的例子:

Red []
myadd: func [x y] [x + y]

主程序("main.red")内容为:

Red [needs: view]
do %funcs.red
view [t: text "result" button "myadd" [t/text: to-string myadd 1 2]]

“main.red”和“funcs.red”都在同一路径中。 在红色控制台中,“main.red”按 do %funcs.red do %main.red 的预期正常工作。然后我尝试编译“main.red”: red -r -t windows main.red 但它失败了,并给出了一条错误消息:

Compilation Error: undefined word myadd...

那么,在Red中,如何在编译时link主脚本与另一个脚本?

要在编译时引用其他红色源,您应该使用#include。当您使用 do 时,它会查找该文件,在 运行 时读取并解释它。

#include %funcs.red

您仍然可以在解释脚本时使用 #include。在这种情况下,解释器会将其视为 do