Ruby 2.0.0 リファレンスマニュアル > ライブラリ一覧 > scanfライブラリ
String#scan のフォーマット指定版といえるメソッド String#scanf を定義します。
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]
| Scanf::FormatSpecifier | |
| Scanf::FormatString |
| Scanf | scanf ライブラリで使用する名前空間です。 |