运算符 | 说明 |
---|---|
$ |
包含操作符 |
包含操作符 $
是一个编译时操作符,可以将外部文件在编译期嵌入到代码中以创建一个字符串对象。
$
后面必须用一个双引号或反引号包含的原始字符串指定要包含的文件路径。aardio 在编译时会将指定的文件编译为字符串( 可包含二进制数据 )。在程序编译发布后,即可脱离源文件运行, 因为该文件已经被编译并内嵌到程序中了。
示例:
import console;
console.log ( $"/my.txt" ) //my.txt 文件内容
如果 $
包含的文件路径以~/
或~\
开始,并且查找文件失败, aardio 会移除路径前面的~
,转换为单个\
或/
开头的应用程序根目录路径继续查找。
应用程序根目录在开发时指工程根目录(工程之外独立运行的 aardio 文件则指启动 aardio 文件所在目录),在发布后则指启动 EXE 所在目录。
反之,如果包含的文件以单个\
或/
开始,并且查找包含文件失败,aardio 不会在路径前面添加~
到EXE目录下查找(EXE目录在开发时指 aardio 开发环境所在目录)。
默认如果找不到包含文件会报错,但是如果被包含的文件路径前面添加一个问号, 找不到文件时则不会报错而是返回 null,示例:
import console;
console.log ( $"?不存在的路径" ) //不报错而是返回 null
需要注意的是:
string.loadcode("$'/example.txt'")
时并不会编译 "$'/example.txt'"
, 在发布时 "$'/example.txt'"
只是一个普通字符串。$
操作符用于包含 aardio 源码文件。相反,如果通过内嵌资源目录包含 aardio 源码文件,发布 EXE 时则会自动自动编译该文件。