クラス
- Array (19)
- Bignum (6)
- Fixnum (6)
- String (22)
-
Zlib
:: GzipReader (33)
モジュール
-
OpenSSL
:: Buffering (11) - TSort (20)
キーワード
- % (11)
- << (6)
- >> (6)
-
each
_ byte (11) -
each
_ strongly _ connected _ component _ from (10) - lineno= (11)
- pack (19)
-
tsort
_ each (10) - ungetc (11)
- unpack (11)
検索結果
先頭5件
-
OpenSSL
:: Buffering # printf(format , *args) -> nil (21114.0) -
format に従い引数 args を文字列に変換して 出力します。
...format に従い引数 args を文字列に変換して
出力します。
IO#printf と同様です。
@param format 出力フォーマット文字列
@param arg 出力するオブジェクト
@see Kernel.#printf... -
String
# unpack(template) -> Array (6305.0) -
Array#pack で生成された文字列を テンプレート文字列 template にしたがってアンパックし、 それらの要素を含む配列を返します。
...の要素を含む配列を返します。
@param template pack テンプレート文字列
@return オブジェクトの配列
以下にあげるものは、Array#pack、String#unpack
のテンプレート文字の一覧です。テンプレート文字は後に「長さ」を表......big endian unsigned 16bit
N: big endian unsigned 32bit
v: little endian unsigned 16bit
V: little endian unsigned 32bit
//}
: エンディアン依存、整数サイズ依存 (C の構造体などに適切)
//emlist{
s!: signed short
S!: unsigned short
i,i!: signed int
I,I!: unsigned i......long
L!: unsigned long
q!: signed long long
Q!: unsigned long long
j,j!: intptr_t
J,J!: uintptr_t
//}
: エンディアン依存、整数サイズ非依存 (C99 の stdint.h にある厳密な幅を持つ整数型に適切)
//emlist{
s: int16_t
S: uint16_t
l: int32_t
L: uint32_t......素を含む配列を返します。
@param template pack テンプレート文字列
@return オブジェクトの配列
以下にあげるものは、Array#pack、String#unpack、String#unpack1
のテンプレート文字の一覧です。テンプレート文字は後に「長さ... -
Zlib
:: GzipReader # ungetc(char) -> nil (6119.0) -
IO クラスの同名メソッド IO#ungetc と同じです。
...IO クラスの同名メソッド IO#ungetc と同じです。
IO クラスの同名メソッドと同じですが、gzip ファイル中に
エラーがあった場合 Zlib::Error 例外や
Zlib::GzipFile::Error 例外が発生します。
gzip ファイルのフッターの処理に注意して......EOF まで読み込んだ後、Zlib::GzipFile#close メソッドが
呼び出された時。
* EOF まで読み込んだ後、Zlib::GzipReader#unused メソッドが
呼び出された時。
@param char 読み戻したい1文字かそのコードポイントを指定します。
@raise Z......照
require 'zlib'
=begin
# hoge.gz がない場合はこれで作成する。
Zlib::GzipWriter.open('hoge.gz') { |gz|
gz.print 'hogefuga'
}
=end
Zlib::GzipReader.open('hoge.gz') { |gz|
begin
c1 = gz.getc
c2 = gz.getc
break if c2.nil?
printf "%c -> %c... -
Bignum
# <<(bits) -> Fixnum | Bignum (3207.0) -
シフト演算子。bits だけビットを左にシフトします。
...シフト演算子。bits だけビットを左にシフトします。
@param bits シフトさせるビット数
printf("%#b\n", 0b0101 << 1) #=> 0b1010
p -1 << 1 #=> -2... -
Bignum
# >>(bits) -> Fixnum | Bignum (3207.0) -
シフト演算子。bits だけビットを右にシフトします。
...フトします。
右シフトは、符号ビット(最上位ビット(MSB))が保持されます。
bitsが実数の場合、小数点以下を切り捨てた値でシフトします。
@param bits シフトさせるビット数
printf("%#b\n", 0b0101 >> 1) #=> 0b10
p -1 >> 1 #=> -1... -
Fixnum
# <<(bits) -> Fixnum | Bignum (3207.0) -
シフト演算子。bits だけビットを左にシフトします。
...シフト演算子。bits だけビットを左にシフトします。
@param bits シフトさせるビット数
printf("%#b\n", 0b0101 << 1) #=> 0b1010
p -1 << 1 #=> -2... -
Fixnum
# >>(bits) -> Fixnum | Bignum (3207.0) -
シフト演算子。bits だけビットを右にシフトします。
...フトします。
右シフトは、符号ビット(最上位ビット(MSB))が保持されます。
bitsが実数の場合、小数点以下を切り捨てた値でシフトします。
@param bits シフトさせるビット数
printf("%#b\n", 0b0101 >> 1) #=> 0b10
p -1 >> 1 #=> -1... -
Array
# pack(template , buffer: String . new) -> String (317.0) -
配列の内容を template で指定された文字列にしたがって、 バイナリとしてパックした文字列を返します。
...文字列の通りです。
buffer が指定されていれば、バッファとして使って返値として返します。
もし template の最初にオフセット (@) が指定されていれば、
結果はオフセットの後ろから詰められます。
buffer の元の内容がオフ......れます。
buffer オプションはメモリ確保が発生しないことを保証するものでは
ないことに注意してください。
buffer のサイズ(capacity)が足りなければ、packはメモリを確保します。
//emlist[例][ruby]{
['!'].pack('@1a', buffer: 'abc') # =>......"a!"
['!'].pack('@5a', buffer: 'abc') # => "abc\u0000\u0000!"
//}
@param template 自身のバイナリとしてパックするためのテンプレートを文字列で指定します。
@param buffer 結果を詰めるバッファとして使う文字列オブジェクトを指定します。... -
Array
# pack(template) -> String (217.0) -
配列の内容を template で指定された文字列にしたがって、 バイナリとしてパックした文字列を返します。
...バイナリとしてパックするためのテンプレートを文字列で指定します。
以下にあげるものは、Array#pack、String#unpack
のテンプレート文字の一覧です。テンプレート文字は後に「長さ」を表す数字
を続けることができます。......big endian unsigned 16bit
N: big endian unsigned 32bit
v: little endian unsigned 16bit
V: little endian unsigned 32bit
//}
: エンディアン依存、整数サイズ依存 (C の構造体などに適切)
//emlist{
s!: signed short
S!: unsigned short
i,i!: signed int
I,I!: unsigned i......long
L!: unsigned long
q!: signed long long
Q!: unsigned long long
j,j!: intptr_t
J,J!: uintptr_t
//}
: エンディアン依存、整数サイズ非依存 (C99 の stdint.h にある厳密な幅を持つ整数型に適切)
//emlist{
s: int16_t
S: uint16_t
l: int32_t
L: uint32_t......文字列の通りです。
buffer が指定されていれば、バッファとして使って返値として返します。
もし template の最初にオフセット (@) が指定されていれば、
結果はオフセットの後ろから詰められます。
buffer の元の内容がオフ......れます。
buffer オプションはメモリ確保が発生しないことを保証するものでは
ないことに注意してください。
buffer のサイズ(capacity)が足りなければ、packはメモリを確保します。
//emlist[例][ruby]{
['!'].pack('@1a', buffer: 'abc') # =>......"a!"
['!'].pack('@5a', buffer: 'abc') # => "abc\u0000\u0000!"
//}
@param template 自身のバイナリとしてパックするためのテンプレートを文字列で指定します。
@param buffer 結果を詰めるバッファとして使う文字列オブジェクトを指定します。... -
TSort
# each _ strongly _ connected _ component _ from(node , id _ map={} , stack=[]) -> Enumerator (107.0) -
node から到達可能な強連結成分についてのイテレータです。
...ch_node を呼びません。
@param node ノードを指定します。
//emlist[例 到達可能なノードを表示する][ruby]{
require 'tsort'
class Hash
include TSort
alias tsort_each_node each_key
def tsort_each_child(node, &block)
fetch(node).each(&block)
end
end
non_sort =......non_sort.each_strongly_connected_component{|nodes|
p nodes
nodes.each {|node|
non_sort.each_strongly_connected_component_from(node){|ns|
printf("%s -> %s\n", node, ns.join(","))
}
}
}
#出力
#=> [4]
#=> 4 -> 4
#=> [2, 3]
#=> 2 -> 4
#=> 2 -> 2,3
#=> 3 -> 4
#=> 3 -> 3,2
#=> [1]
#... -
TSort
# tsort _ each -> Enumerator (107.0) -
TSort#tsort メソッドのイテレータ版です。 obj.tsort_each は obj.tsort.each と似ていますが、 ブロックの評価中に obj が変更された場合は予期しない結果になる ことがあります。
...例][ruby]{
require 'tsort'
class Hash
include TSort
alias tsort_each_node each_key
def tsort_each_child(node, &block)
fetch(node).each(&block)
end
end
non_sort = {1=>[2, 3], 2=>[3], 3=>[], 4=>[]}
non_sort.tsort_each {|node|
non_sort.tsort_each_child(node){|child|
printf("%d ->... -
Zlib
:: GzipReader # each _ byte -> Enumerator (107.0) -
IO クラスの同名メソッドIO#each_byteと同じです。
...EOF まで読み込んだ後、Zlib::GzipFile#close メソッドが
呼び出された時。
* EOF まで読み込んだ後、Zlib::GzipReader#unused メソッドが
呼び出された時。
@raise Zlib::Error Zlib::Error を参照
@raise Zlib::GzipFile::Error Zlib::GzipFile::Errorを参......ipFile::LengthErrorを参照
require 'zlib'
=begin
# hoge.gz がない場合は下記で作成できる。
Zlib::GzipWriter.open('hoge.gz') { |gz|
gz.puts 'hoge'
}
=end
Zlib::GzipReader.open('hoge.gz') { |gz|
gz.each_byte { |b|
printf "%d -> %c\n", b, b
}
}
#=>... -
Zlib
:: GzipReader # lineno=(num) (107.0) -
IO クラスの同名メソッドIO#lineno=と同じです。
...Zlib::GzipFile#close メソッドが
呼び出された時。
* EOF まで読み込んだ後、Zlib::GzipReader#unused メソッドが
呼び出された時。
@param num 新たな行番号を整数で指定します。
@raise Zlib::Error Zlib::Error を参照
@raise Zlib::GzipFile::Erro......File::LengthError Zlib::GzipFile::LengthErrorを参照
require 'zlib'
=begin
# hoge.gz がない場合は下記で作成できる。
Zlib::GzipWriter.open('hoge.gz') { |gz|
gz.puts 'h'
gz.puts 'o'
gz.puts 'g'
gz.puts 'e'
}
=end
Zlib::GzipReader.open('hoge.gz') { |gz|......while l = gz.gets
l.chomp!
gz.lineno = 1000 if l == "o"
printf "%s %d\n", l, gz.lineno
end
}
#=> h 1
#=> o 1001
#=> g 1002
#=> e 1003
@see IO#lineno=...