【问题标题】:Use 'not' instead of '!' in R [closed]使用“不”而不是“!”在 R [关闭]
【发布时间】:2013-11-24 15:42:03
【问题描述】:

我希望 R 更 Pythonic。转换它的步骤之一是使用“not”而不是“!”。我希望这不需要编写 C++ 和编译等,是吗?

功能:“!TRUE”应该等于“not TRUE”。

如果你知道从哪里开始,请指点我那里。

【问题讨论】:

  • ...基于该评论线程,如果不修改解析器,您的请求似乎是不可能的(即,无法定义自定义一元运算符)。
  • 如果你想要 python 使用 python ...我已经投票结束这个问题,因为它太宽泛了。
  • 嗯,它确实提出了一个明确定义的编程问题......我们可以不同意它是否是一个好主意,但它已经明确说明。

标签: r operator-keyword unary-operator


【解决方案1】:

您最好采用 R 方式。为什么要为这么一件小事费尽心思?如果您想要 Python,请坚持使用 Python。此外,在其他编程语言中,! 充当“不”是很常见的。

无论如何,这是允许使用“not”的东西,但它会涉及括号(Arrr!方式)

not <- function(x) { !x }

if (not(FALSE)) { print(1) }
[1] 1 

在我看来,这比!差得多。

我可以听到你在想“但我想要if x is not in y:”,但是请,这与建议我想要一种让 Python 不需要缩进的方法是一样的。

我们的想法是学习一种语言,而不是为了满足个人的需要而改变一种语言。其他人使用您的代码会怎样?

【讨论】:

  • 那些使用我的代码的人将拥有像 Python 一样可读性好的代码。他们会从 Python 中获得某种定义“非”的库以及其他一些不错的功能和方法。括号正是我发布问题的原因。
  • 很抱歉让您失望了,但我认为@Dualinity 的回答是您可能会做的最好的,除非您确实想承担制作自己的修改版基础的非常重要的任务修改解析器的 R 代码 ...
  • 是的,我不打算修改解析器。阅读答案,我意识到这不仅仅是“!”但 if 也有括号。我想我必须学会喜欢“if (!var) ...”。 :)
猜你喜欢
  • 2011-07-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-07-05
  • 2019-02-10
  • 2018-02-22
  • 1970-01-01
相关资源
最近更新 更多