#include
#include的作用和c++中的#include完全相同. 在编译阶段将该语句替换为对应文件内容.
bar.gs
public string bar()
{
return "World";
}
string bar1()
{
return "World";
}
private string bar2()
{
return "World";
}
protected string bar3()
{
return "World";
}
foo.gs
#include "bar.gs"
public string foo()
{
return "Hello ";
}
write(foo(), bar(), "\n"); // collect
write(foo(), bar1(), "\n"); // collect
write(foo(), bar2(), "\n"); // collect
write(foo(), bar3(), "\n"); // collect
foo.gs 等同于:
foo.gs
public string bar()
{
return "World";
}
string bar1()
{
return "World";
}
private string bar2()
{
return "World";
}
protected string bar3()
{
return "World";
}
public string foo()
{
return "Hello ";
}
write(foo(), bar(), "\n"); // collect
write(foo(), bar1(), "\n"); // collect
write(foo(), bar2(), "\n"); // collect
write(foo(), bar3(), "\n"); // collect
include的路径说明
include 是不能省略末尾的.gs的
include的路径一般是从运行driver时的根目录开始算的. 例如 /pkg/cjson/cjosn加载的就是/pkg/cjosn/cjson.gs文件.
PS: 注意mount导致的路径变化
例子
| 路径 | 说明 |
|---|---|
/pkg/cjson/cjson.gs | 加载/pkg/cjosn/cjson.gs |
./bar.gs | 加载当前文件夹下的bar.gs |
../bar.gs | 加载当前文件夹的父文件夹下的bar.gs |