Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/lua/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Lua文档中f(x)的定义_Lua - Fatal编程技术网

Lua文档中f(x)的定义

Lua文档中f(x)的定义,lua,Lua,在试图完全理解解决方案的同时,问题的答案还不清楚: for循环有一些微妙之处,您应该学习,以便 好好利用它。首先,所有三个表达式都计算一次, 在循环开始之前例如,在第一个示例中,f(x)是 仅调用一次。其次,控制变量是局部变量 由for语句自动声明,并且仅在内部可见 循环。[……] 当然,第一行代码不起作用 什么是f(x),它在哪里定义 不幸的是,文档不能作为单个页面提供,这使得搜索第一次出现的文档非常困难。搜索“luaf(x)”也没有结果 说明:现在我已经收到了答案,我意识到这个问题是一个误解

在试图完全理解解决方案的同时,问题的答案还不清楚:

for循环有一些微妙之处,您应该学习,以便 好好利用它。首先,所有三个表达式都计算一次, 在循环开始之前例如,在第一个示例中,f(x)是 仅调用一次。其次,控制变量是局部变量 由for语句自动声明,并且仅在内部可见 循环。[……]

当然,第一行代码不起作用

什么是
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的基本语法,因为它看起来像是站着的,你对语言的基础没有足够的了解来继续控制诸如循环之类的结构。