Skip to content

顶层语句

在MCFPP中,允许在文件的开始直接编写语句而无需额外定义函数,即顶层语句。顶层语句处于一个隐式的函数中,这个函数每个文件有且只有一个,且不能被外部调用。它的返回值类型为void

mcfpp
print("Top statement");

func main(){
    print("Function");
}

在编译后,会生成两个函数——分别对应main函数以及顶层语句对应的默认函数。

顶层语句只能在文件的开始编写,即在函数定义或类定义之前。顶层语句可以调用文件中声明的其他函数和类,而顶层语句中声明的变量则可以被同文件的其他函数使用。

mcfpp
var qwq = "qwq";

main();

func main(){
    print(qwq);
}

顶层语句永远都会拥有一个minecraft:load标签,即顶层语句永远都会在数据包被加载的时候执行一次。因此,顶层语句中非常适合进行一些初始化操作。

TIP

顶层语句的函数为命名空间:文件名__top__,会在编译的时候加入对应命名空间中,因此理论上你可以使用调用函数的一般方式去调用它。但是我们一般不推荐这样做,因为调用一个没有被明确声明的函数会让代码显得很混乱,而且这并不是我们希望你使用顶层语句的方式。