Lua 编程中的命名参数


我们知道,当我们在任何编程语言中将参数传递给函数时,它们会与参数匹配。第一个参数的值将存储在第一个参数中,第二个参数的值将存储在第二个参数中,以此类推。

示例

考虑下面显示的示例 -

local function A(name, age, hobby)
   print(name .. " is " .. age .. " years old and likes " .. hobby)
end

A("Mukul", 24, "eating")

输出

Mukul is 24 years old and likes eating

如果我们仔细地将参数传递给它所属的参数,上面的示例可以正常工作,但想象一下我们搞混了的情况。

示例

考虑下面显示的示例 -

local function A(name, age, hobby)
   print(name .. " is " .. age .. " years old and likes " .. hobby)
end

A("Mukul", "eating", 24)

输出

Mukul is eating years old and likes 24

现在一切都混乱了!

现在,如果我们可以给我们的参数命名以避免这种混乱,那会怎样呢?给我们的参数命名的语法略有不同。

示例

考虑下面显示的示例 -

local function B(tab)
   print(tab.name .. " is " .. tab.age .. " years old and likes " .. tab.hobby)
end

local mukul = {name="Mukul", hobby="football", age="over 9000", comment="plays too much football"}

B(mukul)

输出

Mukul is over 9000 years old and likes football

更新于: 2021-12-01

1 千次浏览

开启你的 职业生涯

通过完成课程获得认证

开始
广告