Ruby 1.9.3 リファレンスマニュアル > ライブラリ一覧 > scanfライブラリ

library scanf

要約

String#scan のフォーマット指定版といえるメソッド String#scanf を定義します。

組み込みクラス StringIO を拡張します。

require 'scanf'

p "a 10  1.2".            scanf("%s %d %f")   # => ["a", 10, 1.2]
p "a 10  1.2 b 20 1.5e10".scanf("%s %d %f")   # => ["a", 10, 1.2]
p "a 10  1.2 b 20 1.5e10".scanf("%s %d %f") {|*v| v}
                # => [["a", 10, 1.2], ["b", 20, 15000000000.0]]

p "a 10  1.2 b 20 1.5e10 c".scanf("%s %d %f") {|*v| v}
               # => [["a", 10, 1.2], ["b", 20, 15000000000.0], [["c"]]]

                                                     #    [["c"]] (?)

require 'scanf'
p "a, 10, 1.2".scanf("%s,%d,%f")
# => ["a,"]      %s が "," を飲み込むからダメらしい

p "a, 10, 1.2".scanf("%1s,%d,%f")
# => ["a", 10, 1.2]

p "a, 10, 1.2".scanf("%[^,],%d,%f")
# => ["a", 10, 1.2]

クラス

class Scanf::FormatSpecifier
class Scanf::FormatString

モジュール

module Scanf

scanf ライブラリで使用する名前空間です。

追加・再定義されるメソッド

IO#scanf Kernel#scanf String#scanf

library scanf