在Ruby中,为什么变量在代码块中不可以互换?

开发者098

我有一个名为“ file1.txt”的文件:

Ruby
programming
is fun

在从IRB调用的files.rb中,我具有:

File.open('file1.txt', 'r') do |file|
  while  line = file.gets
    puts "** " + line.chomp + " **" #--> why can't I use file.gets.chomp?
 end
end

为什么不linefile.gets第3行互换?如果我转linefile.gets,该功能不工作,我感到有点困惑考虑

line = file.gets

file.gets = line

应该可以互换,但是在这种情况下,它不是,因为它给了我一个错误。该函数与配合使用line.chomp

我试图摆脱while代码块,只是写

puts file.gets

并且似乎从file1.txt输出了一行代码,但是while在第3行语句中不起作用

桑加尔

我不是很喜欢Ruby,但是我认为这是因为,如果您使用while line = file.gets,则file.gets返回一行并读取(并将其复制到缓冲区中)下一行。在最后一次迭代中,while在最后一行,而while line = file.gets将会返回最后一行。但是在此期间,您再次调用file.gets,因此文件中没有更多行,它将返回错误。

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

会话中的OOP对象,什么时候不可以?

来自分类Dev

有人可以解释一下这段Ruby代码吗,为什么在该代码块中变量为null?

来自分类Dev

为什么不能在Ruby代码块中重新分配变量?

来自分类Dev

委托人和Func / Action什么时候不可以互换?

来自分类Dev

变异触发器,什么时候可以从触发器表中读取,什么时候不可以?

来自分类Dev

try块中的代码被忽略,为什么?

来自分类Dev

HSpec没什么不可以编译的

来自分类Dev

为什么不可以在“ for”循环中为多个按钮执行“ .startAnimation”?

来自分类Dev

在Designtime 中使用PictureBox 作为Parent,为什么不可以?

来自分类Dev

为什么不能在init块编译中初始化变量接口属性的代码?

来自分类Dev

CSS中的多色条-在Firefox中可以,但其他不可以

来自分类Dev

为什么 shell 变量在我的 Ruby 脚本中不可见?

来自分类Dev

如果 Elixir 中的变量是不可变的,为什么你可以附加到元组和列表?

来自分类Dev

在PHP中str_replace可以是ORing还是不可以?

来自分类Dev

为什么flutter中的变量在构建块中为null

来自分类Dev

为什么变量在代码块之外可用?

来自分类Dev

为什么 <p> 标签可以互换地充当块元素和内联元素

来自分类Dev

在Ruby和Python中会发生什么?为什么在ruby中如果if块中的变量为零,而在python中未定义?

来自分类Dev

更新已准备就绪,不可以在App Store中的“更新”下显示(6天)

来自分类Dev

为什么此代码中需要“最终”块

来自分类Dev

为什么折叠的代码块在PhpStorm中“自动”展开

来自分类常见问题

为什么静态块中的代码执行多次?

来自分类Dev

为什么在PL / SQL中此代码不会进入IF块?

来自分类Dev

为什么在此Javascript代码块中需要()?

来自分类Dev

为什么此代码中需要“最终”块

来自分类Dev

为什么折叠的代码块在PhpStorm中“自动”展开

来自分类Dev

为什么不解释的代码可以影响Ruby中的“消息”行为?

来自分类Dev

光标在代码块中不可见?

来自分类Dev

为什么不能在try / catch块中访问变量?

Related 相关文章

  1. 1

    会话中的OOP对象,什么时候不可以?

  2. 2

    有人可以解释一下这段Ruby代码吗,为什么在该代码块中变量为null?

  3. 3

    为什么不能在Ruby代码块中重新分配变量?

  4. 4

    委托人和Func / Action什么时候不可以互换?

  5. 5

    变异触发器,什么时候可以从触发器表中读取,什么时候不可以?

  6. 6

    try块中的代码被忽略,为什么?

  7. 7

    HSpec没什么不可以编译的

  8. 8

    为什么不可以在“ for”循环中为多个按钮执行“ .startAnimation”?

  9. 9

    在Designtime 中使用PictureBox 作为Parent,为什么不可以?

  10. 10

    为什么不能在init块编译中初始化变量接口属性的代码?

  11. 11

    CSS中的多色条-在Firefox中可以,但其他不可以

  12. 12

    为什么 shell 变量在我的 Ruby 脚本中不可见?

  13. 13

    如果 Elixir 中的变量是不可变的,为什么你可以附加到元组和列表?

  14. 14

    在PHP中str_replace可以是ORing还是不可以?

  15. 15

    为什么flutter中的变量在构建块中为null

  16. 16

    为什么变量在代码块之外可用?

  17. 17

    为什么 <p> 标签可以互换地充当块元素和内联元素

  18. 18

    在Ruby和Python中会发生什么?为什么在ruby中如果if块中的变量为零,而在python中未定义?

  19. 19

    更新已准备就绪,不可以在App Store中的“更新”下显示(6天)

  20. 20

    为什么此代码中需要“最终”块

  21. 21

    为什么折叠的代码块在PhpStorm中“自动”展开

  22. 22

    为什么静态块中的代码执行多次?

  23. 23

    为什么在PL / SQL中此代码不会进入IF块?

  24. 24

    为什么在此Javascript代码块中需要()?

  25. 25

    为什么此代码中需要“最终”块

  26. 26

    为什么折叠的代码块在PhpStorm中“自动”展开

  27. 27

    为什么不解释的代码可以影响Ruby中的“消息”行为?

  28. 28

    光标在代码块中不可见?

  29. 29

    为什么不能在try / catch块中访问变量?

热门标签

归档