Ruby的“gets”方法在256个字符处截断我的输入。

3

我正在尝试使用以下代码在Ruby中输入一个长字符串(>256个字符但通常<512):

puts "Enter long string"
ilogo = gets.chomp
puts "#{ilogo}"

由于某些无聊的原因,它总是截断输入,只保留256个字符(在chomp之前)。
我确认Ruby接受更长的字符串,并且Windows 7命令行控制台也接受字符串大于256个字符。 我找不到任何有关gets方法具有此类型限制的提及,但我肯定错过了什么。我很无助。那可能只是gets的限制吗?

编辑:为了更加具体,我正在使用其中一个测试字符串:

11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111123456777777777777777777777

其中6对应第256个字符。 如上所述,该字符串截断超出第256个字符以外的所有字符。


你想要把它打印到哪里? - Woot4Moo
刚刚测试了一下,在我的Mac OS X 10.8上的ruby 1.9.3p392上运行良好。另外,你是不是指变量ilogo而不是"ilogo" - Josh Voigts
在Windows XP上,我刚刚在IRB中尝试了这个。使用gets输入了500个字符...但只有254个字符被接受了。哎呀。 =\ - Charles Caldwell
抱歉,刚才纠正了一下,我是指 puts "#{ilogo}"。 - jen
@Woot4Moo:只是将它打印到我的Windows 7命令行控制台。 - jen
显示剩余7条评论
1个回答

1

1
我刚刚提交了一个错误报告,编号为#8427。 - jen

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接