相关疑难解决方法(0)

Ruby 中的“+=”(加等号)是什么意思?

我正在阅读 Ruby 教程,但我无法理解 += 语句。谷歌没有帮助,“Ruby +=”只搜索“Ruby”。

帮助表示赞赏。

样本:

num = -10
num += -1 if num < 0
puts num   
#=> -11
Run Code Online (Sandbox Code Playgroud)

ruby

4
推荐指数
1
解决办法
5184
查看次数

为什么这个表达式会导致浮点错误?

所以浮点运算是不精确的,但这并没有完全解释这里发生了什么:

[46] pry(main)> a=0.05
=> 0.05
[47] pry(main)> a=a*26.0/65
=> 0.02
Run Code Online (Sandbox Code Playgroud)

所以我们在这里得到了我们的期望,我们得到了正确的答案,世界不断变化.但是我们后来重写这个功能,我们这样做,而我们交换行a=a*26.0/65a*=26.0/65是不是很好,我们输入一个字符少!让我们看看这对我们有何影响?

[48] pry(main)> a=0.05
=> 0.05
[49] pry(main)> a*=26.0/65
=> 0.020000000000000004
[50] pry(main)> 26.0/65
=> 0.4
Run Code Online (Sandbox Code Playgroud)

它表明a*=b与写作不同a=a*b.它似乎不是一个正常的浮点舍入误差,因为这些数字都不应该被舍入为浮点数(尾数应该足够长,每个26.0,26.0/65,65.0)

我确信引擎盖下有一些微妙的内容,想知道发生了什么?

ruby floating-point

3
推荐指数
1
解决办法
312
查看次数

Ruby中的+ =是什么意思?

可能重复:
"+ ="(加上等于)是什么意思?

以下是什么意思sum += square?这是什么意思?

sum = 0
[1, 2, 3, 4].each do |value|
  square = value * value
  sum += square
end
puts sum
Run Code Online (Sandbox Code Playgroud)

ruby syntax

-1
推荐指数
1
解决办法
581
查看次数

标签 统计

ruby ×3

floating-point ×1

syntax ×1