#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 |