私はウェブ上のどこかでこのコードを見ました:
ruby -pe 'gsub /^\s*|\s*$/, ""'
明らかに、このコードは、STDIN の各行から先頭と末尾の空白を削除します。
私は正規表現と置換を理解していますが、問題はありませんが、メソッドが操作対象のオブジェクトをどのようにgsub
受け取っているかはわかりません。フラグがこの全体をブロックで-p
ラップしていることは理解していますが、どのように文字列を受け取って動作するのでしょうか? 少なくとも、代わりにすべきではありませんか?現在の入力行はどのようにして "魔法のように" に渡されますか?while gets; print; ... ; end
gsub
$_.gsub(..)
gsub
これらの Perl ライクなワンライナーのコードは、多少異なる方法で解釈されますか? 従来のスクリプトベースの Ruby コードとの違いについての一般的な考えを探しています。残念ながら、これに関する包括的なリソース セットは見つかりませんでした。