【发布时间】:2014-08-12 14:19:06
【问题描述】:
在 R 中,我们都知道在我们想要确保处理一个整数时使用 "L" 后缀来指定它是很方便的,如下所示:
1L
# [1] 1
如果我们没有明确告诉 R 我们想要一个整数,它将假定我们打算使用 numeric 数据类型...
str( 1 * 1 )
# num 1
str( 1L * 1L )
# int 1
为什么“L”是首选后缀,为什么不是“I”?有历史原因吗?
另外,为什么 R 允许我这样做(带有警告):
str(1.0L)
# int 1
# Warning message:
# integer literal 1.0L contains unnecessary decimal point
但不是..
str(1.1L)
# num 1.1
#Warning message:
#integer literal 1.1L contains decimal; using numeric value
我希望两者都返回错误。
【问题讨论】:
-
对于您问题的第一部分(“为什么将“L”用作后缀”):在this answer 我指的是a thread,威廉·邓洛普和布赖恩·里普利讨论了“一种可能的解释”为什么要写信
L"。 -
@Henrik 感谢(两个)链接。您的回答也很好,内容丰富。
标签: r parsing integer semantics