"8\266\021\010"結果の文字列はゴミに見えますが、実際は文字列"foo\0"を指すアドレス(のバイナリ表現)です。されるまではGCされないことが保証されています。ポインタとして解釈します。[1,2,3].pack("i!s!l!")です。"\300\265\021\010"で得られます。object[permalink][rdoc]formatにしたがって文字列をデコードし、展開された1つ目の値を返します。unpackは配列を返しますがunpack1は配列の1つ目の要素のみを返します。String[permalink][rdoc]全ての小文字を対応する大文字に置き換えた文字列を返します。どの文字がどう置き換えられるかは、オプションの有無や文字列のエンコーディングに依存します。nil[permalink][rdoc]全ての小文字を対応する大文字に破壊的に置き換えます。どの文字がどう置き換えられるかは、オプションの有無や文字列のエンコーディングに依存します。まで「次の文字列」を順番にブロックに与えて繰り返します。