docs(compiler): explain compilation entry points and source examples
This commit is contained in:
@@ -1,13 +1,21 @@
|
||||
// compiler/tests/pipeline.rs 加载模块并调用 main,检查函数值传参及局部名优先于全局声明。
|
||||
// A parameter can shadow a module function, and functions are ordinary values.
|
||||
// main 把此全局函数作为普通值传入 invoke;实际调用时返回收到的参数。
|
||||
function echo(value: String): String {
|
||||
// 恒等返回,不改变用于确认调用链的文本。
|
||||
return value
|
||||
}
|
||||
|
||||
// main 调用;参数 echo 遮蔽同名模块函数,value 保存待转发的字符串。
|
||||
function invoke(echo: Callable, value: String): String {
|
||||
// 从局部参数 echo 复制函数值,而非再次查找模块的同名全局。
|
||||
let chosen = echo
|
||||
// 经局部 chosen 间接调用函数,把 value 作为实参并返回调用结果。
|
||||
return chosen(value)
|
||||
}
|
||||
|
||||
// 宿主/测试入口,先取得全局 echo 函数值,再传给 invoke 的同名参数。
|
||||
function main(): String {
|
||||
// invoke 内部用局部参数解析 echo,最终应原样返回这段文本。
|
||||
return invoke(echo, "局部名称优先")
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user