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
。
我把一些函数的定义放在一个名为“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
。