るりまサーチ

最速Rubyリファレンスマニュアル検索!
117件ヒット [101-117件を表示] (0.072秒)

別のキーワード

  1. struct new
  2. mkmf have_struct_member
  3. struct []
  4. struct select

ライブラリ

クラス

キーワード

検索結果

<< < 1 2 >>

Array#pack(template, buffer: String.new) -> String (19.0)

配列の内容を template で指定された文字列にしたがって、 バイナリとしてパックした文字列を返します。

...121].pack("cccc") # => "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}...
...}

: 文字列を数値(文字コード)の配列に変換する例
//emlist[][ruby]{
"Ruby".unpack('C*') # => [82, 117, 98, 121]

a = []
"Ruby".each_byte {|c| a << c}
a # => [82, 117, 98, 121]
//}

: "x" でヌルバイトを埋めることができる
//emlist[][ruby]{
[82, 117, 98, 121].pac...
...x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00".unpack("p") # => [nil]
//}

: 構造体のアドレス

例えば、
//emlist{
struct
{
int a;
short b;
long c;
} v = {1,2,3};
//}
を表す文字列は
//emlist[][ruby]{
v = [1,2,3].pack("i!s!...

String#unpack(template) -> Array (19.0)

Array#pack で生成された文字列を テンプレート文字列 template にしたがってアンパックし、 それらの要素を含む配列を返します。

...121].pack("cccc") # => "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}...
...}

: 文字列を数値(文字コード)の配列に変換する例
//emlist[][ruby]{
"Ruby".unpack('C*') # => [82, 117, 98, 121]

a = []
"Ruby".each_byte {|c| a << c}
a # => [82, 117, 98, 121]
//}

: "x" でヌルバイトを埋めることができる
//emlist[][ruby]{
[82, 117, 98, 121].pac...
...x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00".unpack("p") # => [nil]
//}

: 構造体のアドレス

例えば、
//emlist{
struct
{
int a;
short b;
long c;
} v = {1,2,3};
//}
を表す文字列は
//emlist[][ruby]{
v = [1,2,3].pack("i!s!...
<< < 1 2 >>