🐡

[Feature #20261] IO 関連のメソッドで `:paragraph` と `:slurp` を渡せるようにする提案

2024/02/24に公開

[Feature #20261] Add symbol synonyms for '' and nil for IO method line separator arguments

  • IO 関連のメソッドで "" と同意義の :paragraphnil と同意義の :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
GitHubで編集を提案

Discussion