math.SE では、数学表記に関する質問により、n=0 の場合にプログラミング言語がセット {1,...,n} をどのように解釈するかについての議論が発生しました。
質問は、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 が普遍的なルールに違反していることを意味しますか?
プログラミング言語間でこのセットの一貫した解釈はありますか?