👏

Ruby で擬似的に読み込む標準入力を指定する

2024/02/21に公開

わたしは主に競プロで使っていたんですが何かしら標準入力を伴うスクリプトを Ruby で書いているときに実行毎に手入力するのはやや手間です。
そういう場合は以下のように DATA + __END__ を組み合わせるとシュッと動作確認をすることができるので便利です。

# __END__ 以降の文字を標準入力として扱う
$stdin = DATA

# 標準入力が __END__ 以降で書いたテキストとして読み込まれる
pp gets   # => "homu\n"
pp gets   # => "mami\n"
pp gets   # => "mado\n"

__END__
homu
mami
mado

シュッと確認したい場合には便利ですね。

GitHubで編集を提案

Discussion