Ruby:为什么要在不返回最后一行的情况下执行并从函数执行?

库巴苏

我期望while循环返回它执行的最后一条语句,但是函数似乎没有返回该语句。

(1)这似乎有效。

[10] pry(main)> counter = 0
=> 0
[11] pry(main)> a = counter+=1 while counter < 10
=> nil
[12] pry(main)> a
=> 10

(2)这不符合我的预期。我希望将10退还并存储到中b

[19] pry(main)> def increment(terminal_value)
[19] pry(main)*   counter = 0  
[19] pry(main)*   while counter < terminal_value
[19] pry(main)*     counter+=1
[19] pry(main)*   end  
[19] pry(main)* end  
=> :increment
[20] pry(main)> b = increment(10)
=> nil
[21] pry(main)> b
=> nil

问题:

  • 为什么在(1)nil从赋值语句中返回?
  • 为什么不b被分配10

更新:

正如@DaveNewton在(1)中提到的那样,我认为自己正在这样做:

a = (counter +=1 while counter < 10)

但我实际上在做:

(a = counter +=1) while counter < 10
Yu Hao

在您的两个示例中,while循环结果均为nil

while循环

除非没有用于提供值while循环结果nilbreak

相同的until

while环的的结果until循环是nil,除非break被使用。

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

为什么 HBase 中的 Bytes.toBytes() 不能返回我在我的情况下搜索的最后一行?

来自分类Dev

如何在不执行函数本身的情况下知道函数将返回什么样的值?

来自分类Dev

为什么PHP在不执行echo语句的情况下执行标头语句

来自分类Dev

当我执行Math.random()函数时,为什么在“ 1”是互斥的情况下能够返回“ 1”?

来自分类Dev

为什么在不传递承诺/值的情况下执行$ q.when()?

来自分类Dev

在递归函数的情况下,不执行nil

来自分类Dev

不明白为什么我需要在最后一行返回

来自分类Dev

默认情况下,在启动时以条件AND执行一行

来自分类Dev

如何在没有for循环的情况下对矩阵的每一行执行操作?

来自分类Dev

为什么我的代码的最后一行执行多次而不是一次?

来自分类Dev

为什么会这样,执行查询时仅更新/删除表的最后一行?

来自分类Dev

有什么办法可以在不中断执行的情况下查看正在执行的代码行?

来自分类Dev

最后在vimrc中执行一行

来自分类Dev

为什么只执行条件的第一行?

来自分类Dev

.bat文件:仅执行第一行-为什么?

来自分类Dev

WCF REST-是否可以在不结束执行的情况下返回响应?

来自分类Dev

如何在不执行代码的情况下返回HTML文件的内容?

来自分类Dev

如何在不嵌套的情况下避免执行多个函数

来自分类Dev

Python:如何在不执行代码的情况下验证函数调用

来自分类Dev

如何在一行中编写两个要在 if 条件下执行的语句?

来自分类Dev

如果在不指定用户的情况下执行sudo passwd会发生什么?

来自分类Dev

在这种情况下,如何获取MySQL的最后一行?

来自分类Dev

Python-仅在特定情况下读取文件的最后一行

来自分类Dev

C ++:为什么要在切换的情况下声明一个变量

来自分类Dev

如何在不终止当前执行的行的情况下终止shell脚本

来自分类Dev

javascript函数在不调用函数的情况下执行

来自分类Dev

仅在不空白的情况下如何删除空白行和下一行

来自分类Dev

为什么XTS函数在不附加Zoo的情况下找不到as.yearmon函数?

来自分类Dev

在不更改鼠标位置的情况下从JS执行mouseover()

Related 相关文章

  1. 1

    为什么 HBase 中的 Bytes.toBytes() 不能返回我在我的情况下搜索的最后一行?

  2. 2

    如何在不执行函数本身的情况下知道函数将返回什么样的值?

  3. 3

    为什么PHP在不执行echo语句的情况下执行标头语句

  4. 4

    当我执行Math.random()函数时,为什么在“ 1”是互斥的情况下能够返回“ 1”?

  5. 5

    为什么在不传递承诺/值的情况下执行$ q.when()?

  6. 6

    在递归函数的情况下,不执行nil

  7. 7

    不明白为什么我需要在最后一行返回

  8. 8

    默认情况下,在启动时以条件AND执行一行

  9. 9

    如何在没有for循环的情况下对矩阵的每一行执行操作?

  10. 10

    为什么我的代码的最后一行执行多次而不是一次?

  11. 11

    为什么会这样,执行查询时仅更新/删除表的最后一行?

  12. 12

    有什么办法可以在不中断执行的情况下查看正在执行的代码行?

  13. 13

    最后在vimrc中执行一行

  14. 14

    为什么只执行条件的第一行?

  15. 15

    .bat文件:仅执行第一行-为什么?

  16. 16

    WCF REST-是否可以在不结束执行的情况下返回响应?

  17. 17

    如何在不执行代码的情况下返回HTML文件的内容?

  18. 18

    如何在不嵌套的情况下避免执行多个函数

  19. 19

    Python:如何在不执行代码的情况下验证函数调用

  20. 20

    如何在一行中编写两个要在 if 条件下执行的语句?

  21. 21

    如果在不指定用户的情况下执行sudo passwd会发生什么?

  22. 22

    在这种情况下,如何获取MySQL的最后一行?

  23. 23

    Python-仅在特定情况下读取文件的最后一行

  24. 24

    C ++:为什么要在切换的情况下声明一个变量

  25. 25

    如何在不终止当前执行的行的情况下终止shell脚本

  26. 26

    javascript函数在不调用函数的情况下执行

  27. 27

    仅在不空白的情况下如何删除空白行和下一行

  28. 28

    为什么XTS函数在不附加Zoo的情况下找不到as.yearmon函数?

  29. 29

    在不更改鼠标位置的情况下从JS执行mouseover()

热门标签

归档