import — 导入一个或多个外部函数。
import( : : ProcedureSource : )
import 语句可用于从 HDDevelop 程序内部导入额外的外部函数。被导入的函数仅对包含 import 语句的函数可用,而对其他函数不可用。
import 语句可出现在函数的任意行中。被导入的函数仅在 import 语句下方可用,且可能被后续的 import 语句覆盖。
proc() * unresolved procedure call import ./the_one_dir proc() * resolves to ./the_one_dir/proc.hdvp import ./the_other_dir proc() * resolves to ./the_other_dir/proc.hdvp
参数 ProcedureSource 指向外部函数的来源。它可以是包含待用函数和/或函数库的目录路径,也可以是函数库的直接文件名。两种情况下,路径均可采用绝对路径或相对路径。若采用相对路径,HDevelop 将根据包含 import 语句的函数所在文件的位置来解释该路径。若路径包含一个或多个空格,则必须使用引号括起,否则该程序行将失效。
与系统目录、用户定义目录和会话目录不同,HDevelop仅在 import 语句指定的目录中查找外部函数,且不会递归搜索其子目录。
因此,import 语句永远不会被执行,因此 ProcedureSource 必须在函数加载时就完成评估。因此,ProcedureSource
必须是常量表达式,特别是不能将字符串变量传递给 ProcedureSource。
然而,ProcedureSource 还可能包含环境变量,HDevelop 会据此进行解析。无论实际使用何种平台,环境变量必须始终采用 Windows 语法表示,即 %VARIABLE%。
import 语句既不会验证路径 ProcedureSource
是否存在,也不会检查该路径是否指向函数库或包含函数的目录。因此,即使路径不存在或指向无效位置,import
语句在任何情况下仍保持有效程序行。
导入路径在 HDevelop 的函数设置中单独列出。当然,这些路径无法在函数设置内修改或停用。此外,仅通过 import 语句可用的函数会标记为特殊图标。
在程序列表中,导入语句会显示出来,且必须不加括号输入,以强调该行是声明而非可执行算子。
ProcedureSource (输入控制) string → (string)
要加载的外部函数的文件位置:可以是目录或函数库。
import 永远不会被执行。
基础