入力メソッド・1バイトずつ処理

スポンサーリンク
スポンサーリンク
ライフスタイル関連のコンテンツ
お金 | 仕事 | 勉強 | プライベート | 健康 |
プログラミング関連のコンテンツ
C言語/C++入門 | Ruby入門 | Python入門 | プログラミング全般

入力メソッドのうち、1バイトずつ読み込んでの処理を見ます。

スポンサーリンク

text.dat

Hello !
My name is Naoko.
I am japanese.
I like Ruby.
Ruby is a Programming Language.
# 1バイトずつ処理する
puts "--- getc"
open("text.dat"){|io|
    while ch = io.getc
        print ch.chr, " "        # getcはASCIIコードを返すのでchrで戻す
    end
}
 
puts
 
puts "--- each_byte"
io = open("text.dat")
io.each_byte{|ch|
    print ch, " "        # each_byteはASCIIコードを返す。chrで文字に戻せる。
}
io.close
 
puts
 
puts "--- ungetc"
io = open("text.dat")
p io.getc        # 1バイト読み込む。72を返す。ファイルポインタは2バイト目に移動。
io.ungetc(72)    # ファイルポインタを戻す。
p io.gets        # 1行読み込む
io.close

実行結果。

--- getc
H e l l o   !
 M y   n a m e   i s   N a o k o .
 I   a m   j a p a n e s e .
 I   l i k e   R u b y .
 R u b y   i s   a   P r o g r a m m i n g   L a n g u a g e .
--- each_byte
72 101 108 108 111 32 33 10 77 121 32 110 97 109 101 32 105 115 32 78 97 111 107
 111 46 10 73 32 97 109 32 106 97 112 97 110 101 115 101 46 10 73 32 108 105 107
 101 32 82 117 98 121 46 10 82 117 98 121 32 105 115 32 97 32 80 114 111 103 114
 97 109 109 105 110 103 32 76 97 110 103 117 97 103 101 46
--- ungetc
72
"Hello !\n"
スポンサーリンク
 
スポンサーリンク