Q:= 与 <–的区别?

作者: Liam_ml | 来源:发表于2018-08-04 21:14 被阅读23次

当您使用它们在函数调用中设置参数值时,赋值运算符的差异会更明显。例如:

median(x=1:10)
X
##错误:找不到对象'x'

在这种情况下,x在函数范围内声明,因此它不存在于用户工作空间中。

median(x < - 1:10)
X
## [1] 1 2 3 4 5 6 7 8 9 10

在这种情况下,x在用户工作区中声明,因此可以在函数调用完成后使用它。

R社区普遍倾向于使用< - for assignment(功能签名除外)与(非常)旧版本的S-Plus兼容。

X <-3
#这是否意味着分配?
x < - 3
#小于等于
x <-3

大多数R IDE都有键盘快捷键,使< - 更容易输入。 Ctrl + = in Architect,Alt + - 在RStudio中(Option + - 在macOS下),Shift + - (下划线)在emacs + ESS中。

如果你更喜欢写= < - 但是想对公开发布的代码使用更常见的赋值符号(例如在CRAN上),那么你可以使用formatR包中的一个tidy_ *函数来自动替换=和< - 。

library(formatR)

tidy_source(text =“x = 1:5”,arrow = TRUE)
## x < - 1:5

问题的答案“为什么x < - y = 5会抛出错误而不是x < - y < - 5?”, R的语法包含许多模糊的情况,必须以某种方式解决。解析器选择以不同的顺序解析表达式的位,具体取决于是否使用了=或< - 。

相关文章

  • Q:= 与 <–的区别?

    当您使用它们在函数调用中设置参数值时,赋值运算符的差异会更明显。例如: 在这种情况下,x在函数范围内声明,因此它不...

  • EPOLL LT和ET区别

    reference EPOLL LT和ET区别

  • Git add的代码误操作丢失找回

    find .git/objects -type f | xargs ls -lt | sed 60q 把红线部分复...

  • 2018-03-10

    http://mp.weixin.qq.com/s/pALD15lbG-30lt7tT1nj8Q

  • JAVA面试题

    Q:super()与 this()的区别? A:This():当前类的对象,super 父类对象。 Super()...

  • 面试题1

    //超级机密 Q^Q哈哈一、基础知识数组 + 数组与array_merge()的区别array_chunk()的用...

  • 你问我答:XML与HTML的区别_XHTML教程

    你问我答:XML与HTML的区别_XHTML教程 Q: 不知xml和html有什么区别?它们不同在哪? A: 关于...

  • Android 面试知识总结2

    Q1 ArrayList与LinkedList的区别 完整资料 其实这写是在大学时候已经学过了 但是... Q2 ...

  • 4.13 前端遇到的问题

    Q1:插入图片,图片src?? src与href 区别?Q2:h1等inline元素不能设置 top、left...

  • iOS队列小述

    一:全局队列与并行队列的区别 dispatch_queue_t q=dispatch_get_global_que...

网友评论

    本文标题:Q:= 与 <–的区别?

    本文链接:https://www.haomeiwen.com/subject/ivtvvftx.html