在math.SE上,一个关于数学符号的问题引发了一场讨论,讨论了当n=0时编程语言如何解释集合{1,...,n}。
该问题要求提供一种数学符号来表示R代码
根据评论,当n=0时,{1,...,n}的数学解释是一个空集。随后的评论建议C与此解释保持一致,因为
我不清楚R中等价的语句是什么,但
因此,
这是因为{1,...,n}不是
这是否意味着R违反了普遍规则?
编程语言之间是否存在一致的集合解释?
该问题要求提供一种数学符号来表示R代码
1:n
。根据评论,当n=0时,{1,...,n}的数学解释是一个空集。随后的评论建议C与此解释保持一致,因为
for (int i = 1; i < n; i++)
返回一个空集,因为它迭代0次。我不清楚R中等价的语句是什么,但
1:0
返回向量[1,0]
。因此,
for (i in 1:0) print(i)
会迭代1和0(我将其解释为类似于上面的C代码)。这是因为{1,...,n}不是
1:n
的正确符号吗?这是否意味着R违反了普遍规则?
编程语言之间是否存在一致的集合解释?
for
循环根本不返回任何东西,并且不一定作用于一个集合。它执行封闭块中的代码。该代码可能会执行类似于枚举的操作,也可能不会。 - Eric J.for()
返回NULL
,但是以隐形的方式进行。 - Gavin Simpson