85件ヒット
[1-85件を表示]
(0.181秒)
種類
- インスタンスメソッド (41)
- 文書 (22)
- 特異メソッド (11)
- ライブラリ (11)
ライブラリ
- ビルトイン (41)
-
rubygems
/ commands / unpack _ command (11)
クラス
- Array (19)
-
Gem
:: Commands :: UnpackCommand (11) - IO (11)
- String (11)
キーワード
- Marshal フォーマット (11)
- binwrite (11)
- fiddle (11)
-
get
_ path (11) - pack (19)
- pack テンプレート文字列 (11)
検索結果
先頭5件
-
String
# unpack(template) -> Array (22143.0) -
Array#pack で生成された文字列を テンプレート文字列 template にしたがってアンパックし、 それらの要素を含む配列を返します。
...レート文字列 template にしたがってアンパックし、
それらの要素を含む配列を返します。
@param template pack テンプレート文字列
@return オブジェクトの配列
以下にあげるものは、Array#pack、String#unpack
のテンプレート......正規化数 (normalized number)
end
//}
: p
ヌル終端の文字列へのポインタ
//emlist[][ruby]{
[""].pack("p") # => "\x980\xBEf\x1CV\x00\x00"
["a", "b", "c"].pack("p3") # => "\x98\xE5\x9ER\xD2U\x00\x00p\xE5\x9ER\xD2U\x00\x00H\xE5\x9ER\xD2U\x00\x00"
[nil].pack("p")......換する例
//emlist[][ruby]{
[82, 117, 98, 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"
[8......文字列 template にしたがってアンパックし、
それらの要素を含む配列を返します。
@param template pack テンプレート文字列
@return オブジェクトの配列
以下にあげるものは、Array#pack、String#unpack、String#unpack1
のテンプ... -
fiddle (12036.0)
-
*.dllや*.soなど、ダイナミックリンクライブラリを扱うためのライブラリです。
...*.dllや*.soなど、ダイナミックリンクライブラリを扱うためのライブラリです。
dl と同等の機能を持ちますが、
dl は 2.0 以降deprecated となり、2.2.0 で削除されました。このライブラリ
を代わりに使います。
=== 使い方
通常......は fiddle/import ライブラリを require して
Fiddle::Importer モジュールを使用します。
dl と基本的な使いかたは良く似ています。
Fiddle モジュール自体はプリミティブな機能しか提供していません。
Fiddle::Importer モジュールは以下......equire 'fiddle/import'
module M
extend Fiddle::Importer
dlload "libc.so.6"
extern('int gettimeofday(void *, void *)')
Timeval = struct( ["long tv_sec",
"long tv_usec"])
end
timeval = M::Timeval.malloc
e = M.gettimeofday(timeval, nil)
if e == 0
p timeval.tv......は fiddle/import ライブラリを require して
Fiddle::Importer モジュールを使用します。
Fiddle モジュール自体はプリミティブな機能しか提供していません。
Fiddle::Importer モジュールは以下のようにユーザが定義した
モジュールを拡... -
Marshal フォーマット (7146.0)
-
Marshal フォーマット フォーマットバージョン 4.8 を元に記述しています。
...al フォーマット
フォーマットバージョン 4.8 を元に記述しています。
=== nil, true, false
それぞれ、'0', 'T', 'F' になります。
//emlist[][ruby]{
p Marshal.dump(nil).unpack1("x2 a*") # => "0"
p Marshal.dump(true).unpack1("x2 a*") # => "T"
p Marshal.dump(fals......e).unpack1("x2 a*") # => "F"
//}
Ruby 2.1 以前では、インスタンス変数を設定しても dump されません。
Ruby 2.2 以降は freeze されているので、インスタンス変数は設定できません。
=== Fixnum
'i' に続けて Fixnum を表すデータ構造が続きま......"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 に対しては、以下の形式になります。
==== 形式 2
//emlist{
| len | n_1 |... -
IO
. binwrite(path , string , offset=nil) -> Integer (6543.0) -
path で指定されるファイルを開き、string を書き込み、 閉じます。
...ファイルを開き、string を書き込み、
閉じます。
ファイルを開くときの mode が "rb:ASCII-8BIT" で、バイナリモードが有効
である点以外は IO.write と同じです。
Kernel.#open と同様 path の先頭が "|" ならば、"|" に続くコマンドを実......ル名文字列
@param string 書き込む文字列
@param offset 書き込み開始位置
//emlist[例][ruby]{
# 8x8の真っ白なPNG画像データ。
png = 'iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAAAAADhZOFXAAAADklEQVQIW2P4DwUMlDEA98A/wTjP
QBoAAAAASUVORK5CYII='.unpack('m').first
# 期待する先頭......6].unpack('C*').map {|c| '%02x' % c }.join(' ')
# => 89 50 4e 47 0d 0a 1a 0a 00 00 00 0d 49 48 44 52
# binwriteを使用した場合: どの環境でも正しく保存できる。
IO.binwrite('white.binmode.png', png)
puts IO.binread('white.binmode.png', 16).unpack('C*').map {|c| '%02x' % c }.join(... -
pack テンプレート文字列 (3936.0)
-
pack テンプレート文字列
...pack テンプレート文字列
以下にあげるものは、Array#pack、String#unpack
のテンプレート文字の一覧です。テンプレート文字は後に「長さ」を表す数字
を続けることができます。「長さ」の代わりに`*'とすることで「残り全て」......各テンプレート文字の説明の中で、
short や long はシステムによらずそれぞれ 2, 4バイトサ
イズの数値(32ビットマシンで一般的なshort, longのサイズ)を意味していま
す。s, S, l, L に対しては直後に _ または ! を "s_" あるいは "s......正規化数 (normalized number)
end
//}
: p
ヌル終端の文字列へのポインタ
//emlist[][ruby]{
[""].pack("p") # => "\x980\xBEf\x1CV\x00\x00"
["a", "b", "c"].pack("p3") # => "\x98\xE5\x9ER\xD2U\x00\x00p\xE5\x9ER\xD2U\x00\x00H\xE5\x9ER\xD2U\x00\x00"
[nil].pack("p")......pack テンプレート文字列
以下にあげるものは、Array#pack、String#unpack、String#unpack1
のテンプレート文字の一覧です。テンプレート文字は後に「長さ」を表す数字
を続けることができます。「長さ」の代わりに`*'とすることで... -
Gem
:: Commands :: UnpackCommand # get _ path(gemname , version _ req) -> String | nil (3402.0) -
引数で指定された条件にマッチする Gem パッケージを保存しているパスを返します。
...引数で指定された条件にマッチする Gem パッケージを保存しているパスを返します。
@param gemname Gem パッケージの名前を指定します。
@param version_req バージョンの満たすべき条件を文字列で指定します。... -
Array
# pack(template , buffer: String . new) -> String (1248.0) -
配列の内容を template で指定された文字列にしたがって、 バイナリとしてパックした文字列を返します。
...配列の内容を template で指定された文字列にしたがって、
バイナリとしてパックした文字列を返します。
テンプレートは
型指定文字列とその長さ(省略時は1)を並べたものです。長さと
して * が指定された時は「残りのデ......してください。
buffer のサイズ(capacity)が足りなければ、packはメモリを確保します。
//emlist[例][ruby]{
['!'].pack('@1a', buffer: 'abc') # => "a!"
['!'].pack('@5a', buffer: 'abc') # => "abc\u0000\u0000!"
//}
@param template 自身のバイナリとしてパックす......指定した場合は返値も指定した文字列オブジェクトになります。
以下にあげるものは、Array#pack、String#unpack、String#unpack1
のテンプレート文字の一覧です。テンプレート文字は後に「長さ」を表す数字
を続けることができ... -
Array
# pack(template) -> String (1148.0) -
配列の内容を template で指定された文字列にしたがって、 バイナリとしてパックした文字列を返します。
...配列の内容を template で指定された文字列にしたがって、
バイナリとしてパックした文字列を返します。
テンプレートは
型指定文字列とその長さ(省略時は1)を並べたものです。長さと
して * が指定された時は「残りのデ......pack テンプレート文字列の通りです。
@param template 自身のバイナリとしてパックするためのテンプレートを文字列で指定します。
以下にあげるものは、Array#pack、String#unpack
のテンプレート文字の一覧です。テンプレート......正規化数 (normalized number)
end
//}
: p
ヌル終端の文字列へのポインタ
//emlist[][ruby]{
[""].pack("p") # => "\x980\xBEf\x1CV\x00\x00"
["a", "b", "c"].pack("p3") # => "\x98\xE5\x9ER\xD2U\x00\x00p\xE5\x9ER\xD2U\x00\x00H\xE5\x9ER\xD2U\x00\x00"
[nil].pack("p")......してください。
buffer のサイズ(capacity)が足りなければ、packはメモリを確保します。
//emlist[例][ruby]{
['!'].pack('@1a', buffer: 'abc') # => "a!"
['!'].pack('@5a', buffer: 'abc') # => "abc\u0000\u0000!"
//}
@param template 自身のバイナリとしてパックす......指定した場合は返値も指定した文字列オブジェクトになります。
以下にあげるものは、Array#pack、String#unpack、String#unpack1
のテンプレート文字の一覧です。テンプレート文字は後に「長さ」を表す数字
を続けることができ...