るりまサーチ

最速Rubyリファレンスマニュアル検索!
423件ヒット [401-423件を表示] (0.058秒)
トップページ > クエリ:>[x] > クエリ:sprintf[x]

別のキーワード

  1. _builtin >
  2. bigdecimal >
  3. module >
  4. integer >
  5. float >

ライブラリ

クラス

モジュール

検索結果

<< < ... 3 4 5 >>

Marshal フォーマット (24.0)

Marshal フォーマット フォーマットバージョン 4.8 を元に記述しています。

...れ、'0', 'T', 'F' になります。

//emlist[][ruby]{
p Marshal.dump(nil).unpack1("x2 a*") # => "0"
p Marshal.dump(true).unpack1("x2 a*") # => "T"
p Marshal.dump(false).unpack1("x2 a*") # => "F"
//}

Ruby 2.1 以前では、インスタンス変数を設定しても dump されません。
Ru...
...めです。

//emlist[例][ruby]{
p Marshal.dump(-1).unpack1("x2 a*") # => "i\xFA"
p Marshal.dump(0).unpack1("x2 a*") # => "i\x00"
p Marshal.dump(1).unpack1("x2 a*") # => "i\x06"
p Marshal.dump(2).unpack1("x2 a*") # => "i\a" ("i\x07")
//}

形式 1 の範囲を超える数値 N に対しては...
...") # => ["f", 8, "nan"]
p Marshal.dump(1.0/0).unpack("x2 a c a*") # => ["f", 8, "inf"]
p Marshal.dump(-1.0/0).unpack("x2 a c a*") # => ["f", 9, "-inf"]
p Marshal.dump(-0.0).unpack("x2 a c a*") # => ["f", 9, "-0"]
//}

==== ruby 1.7 feature

Ruby 1.6 では、nan などの出力は sprintf(3) に...

pack テンプレート文字列 (18.0)

pack テンプレート文字列

...ます。

強制的にエンディアンを指定したいときは、
リトルエンディアンなら < を、
ビッグエンディアンなら >
を後ろにつけます。! と組み合わせることも可能です。

まとめると以下のようになります。

: エンディアン非...
...q: int64_t
Q: uint64_t
//}

: エンディアンの強制指定(バイナリ解析などに適切)
//emlist{
S>: big endian unsigned 16bit(nと同じ)
s>: big endian int16_t
s!>: big endian signed short
l<: little endian int32_t
l!<: little endian signed long
//}

=== 各テンプレ...
...c") # => "Ruby"
[82, 117, 98, 121].pack("c4") # => "Ruby"
[82, 117, 98, 121].pack("c*") # => "Ruby"

s = ""
[82, 117, 98, 121].each {|c| s << c}
s # => "Ruby"

[82, 117, 98, 121].collect {|c| sprintf "%c", c}.join # => "Ruby"

[82, 117, 98, 121].inject("") {|s, c| s << c} # => "Ruby"...
<< < ... 3 4 5 >>