Lua文档中f(x)的定义
在试图完全理解解决方案的同时,问题的答案还不清楚: for循环有一些微妙之处,您应该学习,以便 好好利用它。首先,所有三个表达式都计算一次, 在循环开始之前例如,在第一个示例中,f(x)是 仅调用一次。其次,控制变量是局部变量 由for语句自动声明,并且仅在内部可见 循环。[……] 当然,第一行代码不起作用 什么是Lua文档中f(x)的定义,lua,Lua,在试图完全理解解决方案的同时,问题的答案还不清楚: for循环有一些微妙之处,您应该学习,以便 好好利用它。首先,所有三个表达式都计算一次, 在循环开始之前例如,在第一个示例中,f(x)是 仅调用一次。其次,控制变量是局部变量 由for语句自动声明,并且仅在内部可见 循环。[……] 当然,第一行代码不起作用 什么是f(x),它在哪里定义 不幸的是,文档不能作为单个页面提供,这使得搜索第一次出现的文档非常困难。搜索“luaf(x)”也没有结果 说明:现在我已经收到了答案,我意识到这个问题是一个误解
f(x)
,它在哪里定义
不幸的是,文档不能作为单个页面提供,这使得搜索第一次出现的文档非常困难。搜索“luaf(x)”也没有结果
说明:现在我已经收到了答案,我意识到这个问题是一个误解。我错误地将“f(x)只调用一次”解释为“包含f(x)的行-对于I=1,f(x)do print(I)end
-将只返回一个值”,并且没有充分注意到“在循环开始之前,所有三个表达式都计算一次”f(x)
只是一个函数,它接受参数x
并返回一个用作循环上限的值
例如,如果函数f(x)
计算x²,您将其称为f(3)
,它将返回值9。由此产生的for
循环如下所示:
for i=1, f(3) do print(i) end
这和
for i=1, 9 do print(i) end
f(x)
只是一个函数,它接受参数x
并返回一个用作循环上限的值
例如,如果函数f(x)
计算x²,您将其称为f(3)
,它将返回值9。由此产生的for
循环如下所示:
for i=1, f(3) do print(i) end
这和
for i=1, 9 do print(i) end
这句话澄清了这一点:表达式在循环开始之前计算一次 因此,f(x)只被调用一次只是说明
表达式
不会受到循环中潜在变化的影响
例如,以下代码(第二行中的表达式为i=1
和x
):
将产生以下输出:
1 4
2 3
3 2
4 1
5 0
0
1 4
2 3
3 2
2
并且将不产生以下输出:
1 4
2 3
3 2
4 1
5 0
0
1 4
2 3
3 2
2
这句话澄清了这一点:表达式在循环开始之前计算一次 因此,f(x)只被调用一次只是说明
表达式
不会受到循环中潜在变化的影响
例如,以下代码(第二行中的表达式为i=1
和x
):
将产生以下输出:
1 4
2 3
3 2
4 1
5 0
0
1 4
2 3
3 2
2
并且将不产生以下输出:
1 4
2 3
3 2
4 1
5 0
0
1 4
2 3
3 2
2
f(x)
只是一个例子,for
语句说明:(i)for循环的上界可以是一个“复杂”表达式(ii)该上界在循环开始之前计算,这意味着即使在循环内部修改了x
变量,它不会影响迭代次数……请注意,在数字“for”-循环的表达式列表中使用时,f(x)
不能返回两个值。例如,下面的代码函数f(x)返回x,-1 end;对于i=10,f(1)do print(i)end
不会打印任何内容。可以通过简洁和精确而不是像PIL那样的解释性来更清晰。不幸的是,Lua参考手册是一本书呆子,它喜欢让我觉得自己很愚蠢,我的大脑也受到了伤害:stat::=Name'='exp','exp[','exp]do block end
o你需要复习Lua的基本语法,因为它看起来像是站着的,你对语言的基础没有足够的了解来继续控制诸如循环之类的结构。<代码> f(x)只是一个例子,< <代码> > 语句说明:(i)for循环的上界可以是一个“复杂”表达式(II)该上限在循环开始之前计算,这意味着即使在循环内部修改了x
变量,也不会影响迭代次数……请注意,在数字“for”-循环的表达式列表中使用时,f(x)
不能返回两个值。例如,下面的代码函数f(x)返回x,-1 end;对于i=10,f(1)do print(i)end
不会打印任何内容。可以通过简洁和精确而不是像PIL那样的解释性来更清晰。不幸的是,Lua参考手册是一本书呆子,它喜欢让我觉得自己很愚蠢,我的大脑也受到了伤害:stat::=Name'='exp','exp[','exp]do block end
o你需要复习Lua的基本语法,因为它看起来像是站着的,你对语言的基础没有足够的了解来继续控制诸如循环之类的结构。