在Ruby中,我想从STDIN中读取一定长度的字符数据。在Perl中,我会做这样的事情:什么是Perl read()函数的Ruby等价物?
# perl code
read(STDIN, $first_ten_chars, 10);
我怎样才能在Ruby中做同样的事情?
在Ruby中,我想从STDIN中读取一定长度的字符数据。在Perl中,我会做这样的事情:什么是Perl read()函数的Ruby等价物?
# perl code
read(STDIN, $first_ten_chars, 10);
我怎样才能在Ruby中做同样的事情?
的pre-defined STDIN variable是IO object,所以它有一个read
method它接受作为参数的长度和 '缓冲',类似的Perl read
功能:
first_ten_chars = STDIN.read(10);
随着红宝石1.9:
first_ten_chars = STDIN.gets(10)
但'gets'会读取下一个“行”,所以它不会停止在某个分隔符?我想读取接下来的10个字符,与分隔符无关。 –
确实,除非你不使用默认分隔符:'STDIN.gets(nil,10)' –
Ya,但是在那一点上,我认为你不妨使用'STDIN.read(10)'。还有其他的区别吗? –
那么'STDIN.read(10)'呢? –
@NiklasB。 - 雅,多一点谷歌搜索导致我得出结论,那就是票。想要将其作为答案张贴,还是应该关闭我的问题? –
@RichardJPLeGuen你几乎是正确的,只是不够OO;) – d11wtq