旧それなりブログの跡地、画像やスタイルやJSなどが壊れてることがあります。

[Ruby] gets関数の行区切り文字を指定する

2008年1月14日

Rubyのgets組み込み関数について

通常は “\n” を行の区切り文字として認識しますが、
以下のように書くことで区切り文字を変更できます

# null文字に変更する
$/ = "\000"

こうすることで String#chomp 等も変更した改行文字を落とすようになるようです。

参考: http://osdir.com/ml/lang.ruby.japanese/2005-09/msg00010.html

ちなみにこれを調べたのは、
ActionScript3のXMLSocket用のソケットサーバをRubyで設置しようとしたときに
XMLSocket#sendがメッセージの区切りをヌル文字で指定しているという理由からでした。