ruby - + 在 ruby​​ 中的变量前面有没有做任何事情?

标签 ruby

foo = 1
p +foo

此示例代码打印 1 就像 + 不存在一样。我知道变量前面的 - 得到与变量相反的值(-29 变成 29)但是在任何情况下前面带有 + 的变量会做任何事情或者我可以每次看到它时安全地删除它?为了澄清这一点,我没有特别询问分配给变量的数字,而是 ruby​​ 中的任何数据类型。

最佳答案

+ 既是一元运算符(一个参数)又是二元运算符(两个参数)。它在 Numeric 类中定义。 Unary operators使用 @ 后缀定义,以区别于二元运算符。

Unary Plus—Returns the receiver.

这是 source对于方法:

num_uplus(VALUE num)
{
    return num;
}

所以回答你的问题,

Does + in front of a variable in ruby ever do anything?

否,对于 Numeric 值。

关于ruby - + 在 ruby​​ 中的变量前面有没有做任何事情?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53754167/

相关文章:

mysql - 如何从belongs_to关联模型中确定by_month的范围?

ruby-on-rails - rails s 在设计配置发送邮件时出错

ruby-on-rails - ActiveRecord 急切加载多个 belongs_to 关联

ruby - 使用 gmail gem 跟踪一些电子邮件

ruby - IntelliJ IDEA 的Ruby 插件SDK 怎么设置?

ruby - 如何在 Ruby 中使用正则表达式从此字符串 "!!one!! **two** @@three@@"中提取单词

ruby-on-rails - 缺失区域;使用 :region option or export region name to ENV ['AWS_REGION' ]

ruby-on-rails - 如何找到乘客可以创建的最大并发进程?

ruby - yodlee 用户通过应用程序注册可以吗?

ruby-on-rails - NoMethodError:has_many 的未定义方法 `user':通过关联