🐡
[Feature #20261] IO 関連のメソッドで `:paragraph` と `:slurp` を渡せるようにする提案
[Feature #20261] Add symbol synonyms for '' and nil for IO method line separator arguments
- IO 関連のメソッドで
""
と同意義の:paragraph
とnil
と同意義の:slurp
を渡せるようにする提案
pp gets(:paragraph) # gets("") と同意義
pp gets(:slurp) # gets(nil) と同意義
- そもそも
""
とnil
を渡すとどうなるのかというと
# __END__ 以降の文字を標準入力として扱う
$stdin = DATA
# "" を渡した場合は連続する改行を行の区切りとする
pp gets("")
# => "homu\n" + "\n"
pp gets("")
# => "mami\n" + "mado\n"
__END__
homu
mami
mado
# __END__ 以降の文字を標準入力として扱う
$stdin = DATA
# nil を渡した場合は行区切りなし
pp gets(nil)
# => "homu\n" + "\n" + "mami\n" + "mado\n"
__END__
homu
mami
mado
- はえーって感じなんですが多用する場合は読みやすいんですかねー
- PR: https://github.com/ruby/ruby/pull/9921
- 参照: IO#gets (Ruby 3.3 リファレンスマニュアル)
Discussion