相关疑难解决方法(0)

为什么R会使用"L"后缀来表示整数?

在R中我们都知道,对于那些我们想要确保处理整数以使用"L"后缀来指定它的方式来说这很方便:

1L
# [1] 1
Run Code Online (Sandbox Code Playgroud)

如果我们没有明确告诉R我们想要一个整数,它会假设我们打算使用numeric数据类型......

str( 1 * 1 )
# num 1
str( 1L * 1L )
# int 1
Run Code Online (Sandbox Code Playgroud)

为什么"L"是首选后缀,为什么不是"我"呢?有历史原因吗?

另外,为什么R允许我做(有警告):

str(1.0L)
# int 1
# Warning message:
# integer literal 1.0L contains unnecessary decimal point 
Run Code Online (Sandbox Code Playgroud)

但不是..

str(1.1L)
# num 1.1
#Warning message:
#integer literal 1.1L contains decimal; using numeric value 
Run Code Online (Sandbox Code Playgroud)

我希望两者都返回一个错误.

parsing integer r semantics

32
推荐指数
2
解决办法
2万
查看次数

标签 统计

integer ×1

parsing ×1

r ×1

semantics ×1