Ruby整数分配-使Ruby分配适应C类型语言

紧身的

全部,

我正在尝试改编一些Ruby代码以在C#中工作,但C#不提供与Ruby相同的可用赋值语法

这是我正在尝试适应的一些Ruby代码:

    x, x1 = x1, x-q*x1
    y, y1 = y1, y-q*y1
    a, b  =  b, a-q*b

因此,我接受并执行了此操作,但是得到的结果与上述不同:

    x = x1
    x1 = x-q*x1
    y = y1
    y1 = y-q*y1
    a = b
    b  = a-q*b

Ruby如何评估作业?为什么当我将多个作业分成单项作业时结果却不同?

恢复莫妮卡-notmaynard

Ruby首先对RHS上的每个表达式求值,然后将它们分配给代表性的LHS变量。

(基本上)这是Ruby评估第三行的方式a, b = b, a-q*b

temp1 = b
temp2 = a-q*b
a = temp1
b = temp2

用一个例子a = 5b = 7q = 10

a, b = (7), (5 - 10*7)

产量

a == 7
b == -65

如您所见,在评估使用它的RHS表达式之前,没有值ab从其初始值起没有改变。

与C#代码中发生的事情对比:

a = b      // a is changed BEFORE evaluating the value
           //   that will be put into b
b = a-q*b  // The value of a has already been changed:
           //   this is now the same as b = b-q*b, which is not intended

示例结果使用与上述相同的值:

a == 7
b == 7 - 10*7 == -63  // Not what we want...

为了获得正确的结果,请在此答案的顶部使用多行赋值和temp变量:

temp1 = b       // 7
temp2 = a-q*b   // 5 - 10*7 == -65
a = temp1       // 7
b = temp2       // -65

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

基本整数分配

来自分类Dev

使用流将随机整数分配给ArrayList

来自分类Dev

在VBA中为整数分配随机值的For语句

来自分类Dev

将超出范围的整数分配给带符号的char类型

来自分类Dev

C / C ++-当我为单个整数分配空间时,为什么堆这么大?

来自分类Dev

在C中为整数分配双精度数会导致程序崩溃

来自分类Dev

将浮点数分配给整数时的无限循环

来自分类Dev

为什么将整数分配给字符串会导致空格?

来自分类Dev

如何读取文件,然后将每个文件整数分配给数组列表?

来自分类Dev

将整数分配给字符串中的多个字符

来自分类Dev

Rails 4.2.0中用于简单整数分配的RangeError应该通过验证来捕获

来自分类Dev

将整数分配给已取消引用的字符指针

来自分类Dev

CUDA,尝试为设备中的整数分配内存时出错

来自分类Dev

如何将整数分配给小数点后的双倍

来自分类Dev

Pandas DataFrame:如果满足多个条件,则将整数分配给新列

来自分类Dev

为什么我们可以将整数分配给 char 变量

来自分类Dev

Ruby并行分配

来自分类Dev

Ruby:无法分配内存

来自分类Dev

Ruby对象批量分配

来自分类Dev

Ruby双管道分配

来自分类Dev

Ruby并行分配

来自分类Dev

将浮点数分配给长整数时,浮点数的值会怎样?

来自分类Dev

在Visual Studio中使用文字整数分配的奇怪行为会导致四个意外的编译器错误

来自分类Dev

当用大于 255 的整数分配无符号字符时,它会给出不同的输出,为什么?

来自分类Dev

编程语言 C 中的分配

来自分类Dev

C语言-来自不兼容指针类型的类型分配[默认启用]

来自分类Dev

Ruby从终端分配多个参数

来自分类Dev

当您调用new []为N个整数分配一个数组时,是否保证该数组将在物理内存中顺序分配?

来自分类Dev

将不兼容类型的函数分配给ref属性

Related 相关文章

  1. 1

    基本整数分配

  2. 2

    使用流将随机整数分配给ArrayList

  3. 3

    在VBA中为整数分配随机值的For语句

  4. 4

    将超出范围的整数分配给带符号的char类型

  5. 5

    C / C ++-当我为单个整数分配空间时,为什么堆这么大?

  6. 6

    在C中为整数分配双精度数会导致程序崩溃

  7. 7

    将浮点数分配给整数时的无限循环

  8. 8

    为什么将整数分配给字符串会导致空格?

  9. 9

    如何读取文件,然后将每个文件整数分配给数组列表?

  10. 10

    将整数分配给字符串中的多个字符

  11. 11

    Rails 4.2.0中用于简单整数分配的RangeError应该通过验证来捕获

  12. 12

    将整数分配给已取消引用的字符指针

  13. 13

    CUDA,尝试为设备中的整数分配内存时出错

  14. 14

    如何将整数分配给小数点后的双倍

  15. 15

    Pandas DataFrame:如果满足多个条件,则将整数分配给新列

  16. 16

    为什么我们可以将整数分配给 char 变量

  17. 17

    Ruby并行分配

  18. 18

    Ruby:无法分配内存

  19. 19

    Ruby对象批量分配

  20. 20

    Ruby双管道分配

  21. 21

    Ruby并行分配

  22. 22

    将浮点数分配给长整数时,浮点数的值会怎样?

  23. 23

    在Visual Studio中使用文字整数分配的奇怪行为会导致四个意外的编译器错误

  24. 24

    当用大于 255 的整数分配无符号字符时,它会给出不同的输出,为什么?

  25. 25

    编程语言 C 中的分配

  26. 26

    C语言-来自不兼容指针类型的类型分配[默认启用]

  27. 27

    Ruby从终端分配多个参数

  28. 28

    当您调用new []为N个整数分配一个数组时,是否保证该数组将在物理内存中顺序分配?

  29. 29

    将不兼容类型的函数分配给ref属性

热门标签

归档