变量:修订间差异
添加的内容 删除的内容
小无编辑摘要 |
(类似@define这样定义的东西更类似于宏替换,实际上是不可变的(但是可以被覆盖)。本页面暂时不要编辑,有问题移步至讨论页面。) |
||
第1行: | 第1行: | ||
{{InfoBox |
|||
|image=builder.png |
|||
|border= rgb(250,10,10) |
|||
|type= |
|||
|info='''该模板需要改进,请勿模仿此页面创立新页面'''}} |
|||
'''变量'''是铁锈中一种数据存储方式,于[[1.14]]被加入。 |
'''变量'''是铁锈中一种数据存储方式,于[[1.14]]被加入。 |
||
第41行: | 第47行: | ||
</pre>}} |
</pre>}} |
||
[[分类:模组制作]] |
[[分类:模组制作]] |
||
[[分类:急需改进]] |
2023年1月1日 (日) 22:30的版本
该模板需要改进,请勿模仿此页面创立新页面 |
变量是铁锈中一种数据存储方式,于1.14被加入。
不同于内存,变量的值是固定的,在ini中定义后无法修改。
定义
在[core]中,使用@global 名称:值
可以定义全局变量。而在任何节(注释节除外),都可以使用@define 名称:值
定义局部变量。
变量定义例子 |
---|
[core] @global a:100 @global b:qwerty [action_x] @global c:10.0 |
类型
铁锈中,变量包含全局变量和局部变量两种,其作用域不同。全局变量在整个ini中都能进行引用,而局部变量只能在定义该变量的节引用。同一个单位中不同的节可以定义名称相同的局部变量,而互不影响。当全局变量和局部变量重名时,局部变量优先级更高,能够在该局部变量所处的节覆盖全局变量。变量本身并不存在“数据结构类型”,本质上变量只是一个替换工具,在加载时引用的变量被替换为定义的值。
局部变量和全局变量例子 |
---|
[core] @global a:10 @global b:20 [action_a] @define a:15 #此时 ${a} 为 15 [action_b] #此时 ${a} 为 10 #此时 ${b} 为20 |
引用
通过${变量名}
可以引用变量。任何代码的值中都可以进行变量引用,但是必须保证该代码值的类型在引用后不会错误。%{}
中也可以嵌套变量引用。
变量引用例子 |
---|
[action] @define time:0 @define str1:测 @define str2:试 text: -${str1}${str2} #此时text的值为 -测试 buildSpeed:${time} |