在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