別のキーワード
ライブラリ
- ビルトイン (16)
- ipaddr (1)
-
net
/ http (3) - open-uri (2)
- optparse (2)
- psych (4)
- set (2)
- shell (6)
-
shell
/ command-processor (2) -
shell
/ filter (2) -
syslog
/ logger (1) - tsort (2)
クラス
- Array (2)
- Bignum (1)
- Class (1)
- FalseClass (1)
- Fixnum (1)
- IPAddr (1)
- Integer (2)
- Method (1)
-
Net
:: HTTP (2) - NilClass (1)
- Object (1)
- OptionParser (2)
- Proc (1)
-
Process
:: Status (1) -
Psych
:: Handler (4) - Set (2)
- Shell (6)
-
Shell
:: CommandProcessor (2) -
Shell
:: Filter (2) - String (2)
-
Syslog
:: Logger (1) - TrueClass (1)
モジュール
-
Net
:: HTTPHeader (1) -
OpenURI
:: OpenRead (2) - TSort (2)
キーワード
- [] (1)
- add (1)
- alias (1)
- cd (1)
- chdir (1)
-
each
_ strongly _ connected _ component _ from (2) - foreach (3)
- initialize (1)
- intersection (1)
- new (1)
-
on
_ head (1) -
on
_ tail (1) - open (2)
- out (3)
- pack (1)
- parameters (2)
- post (2)
- pushd (1)
- pushdir (1)
- scalar (1)
-
set
_ form _ data (1) -
start
_ mapping (1) -
start
_ sequence (1) - sum (1)
- unpack (1)
検索結果
先頭5件
-
FalseClass
# &(other) -> false (54466.0) -
常に false を返します。
常に false を返します。
@param other 論理積を行なう式です。
& は再定義可能な演算子に分類されていますので、通常は false & other の形で使われます。
//emlist[例][ruby]{
p false & true #=> false
p false & false #=> false
p false & nil #=> false
p false & (1 == 1) #=> false
p false & (1 + 1) #=> false
p false.&(true) #=> false
p false.&... -
TrueClass
# &(other) -> bool (54466.0) -
other が真なら true を, 偽なら false を返します。
other が真なら true を, 偽なら false を返します。
@param other 論理積を行なう式です。
& は再定義可能な演算子に分類されていますので、通常は true & other のように使われます。
//emlist[例][ruby]{
p true & true #=> true
p true & false #=> false
p true & nil #=> false
p true & (1 == 1) #=> true
p true & (1 + 1) #=> true
p true.&(true) #=> true... -
NilClass
# &(other) -> false (54412.0) -
常に false を返します。
常に false を返します。
@param other 論理積を行なう式です
//emlist[例][ruby]{
nil & true # => false
nil & false # => false
nil & nil # => false
nil & "a" # => false
//} -
Process
:: Status # &(other) -> Integer (54406.0) -
self.to_i & other と同じです。 このメソッドは後方互換性のためにあります。
self.to_i & other と同じです。
このメソッドは後方互換性のためにあります。
@param other 自身との & 演算をしたい整数を指定します。 -
Array
# &(other) -> Array (54394.0) -
集合の積演算です。両方の配列に含まれる要素からなる新しい配列を返 します。重複する要素は取り除かれます。
集合の積演算です。両方の配列に含まれる要素からなる新しい配列を返
します。重複する要素は取り除かれます。
要素の重複判定は、Object#eql? により行われます。
新しい配列における要素の順は self における要素の順と同じです。
@param other 配列を指定します。
配列以外のオブジェクトを指定した場合は to_ary メソッドによ
る暗黙の型変換を試みます。
@raise TypeError 引数に配列以外の(暗黙の型変換が行えない)オブジェクトを
指定した場合に発生します。
/... -
Set
# &(enum) -> Set (54394.0) -
共通部分、すなわち、2つの集合のいずれにも属するすべての要素からなる 新しい集合を作ります。
共通部分、すなわち、2つの集合のいずれにも属するすべての要素からなる
新しい集合を作ります。
@param enum each メソッドが定義されたオブジェクトを指定します。
@raise ArgumentError 引数 enum に each メソッドが定義されていない場合に
発生します。
//emlist[][ruby]{
require 'set'
s1 = Set[10, 20, 30]
s2 = Set[10, 30, 50]
p s1 & s2 #=> #<Set: {10, 30}>
//}
@see Array#& -
Bignum
# &(other) -> Fixnum | Bignum (54376.0) -
ビット二項演算子。論理積を計算します。
ビット二項演算子。論理積を計算します。
@param other 数値
1 & 1 #=> 1
2 & 3 #=> 2 -
Fixnum
# &(other) -> Fixnum | Bignum (54376.0) -
ビット二項演算子。論理積を計算します。
ビット二項演算子。論理積を計算します。
@param other 数値
1 & 1 #=> 1
2 & 3 #=> 2 -
Integer
# &(other) -> Integer (54376.0) -
ビット二項演算子。論理積を計算します。
ビット二項演算子。論理積を計算します。
@param other 数値
//emlist[][ruby]{
1 & 1 # => 1
2 & 3 # => 2
//} -
IPAddr
# &(ipaddr) -> IPAddr (54340.0) -
他の IPAddr オブジェクトとのビットごとの論理積により、 新しい IPAddr オブジェクトを生成します。
他の IPAddr オブジェクトとのビットごとの論理積により、
新しい IPAddr オブジェクトを生成します。
@param ipaddr 他の IPAddr オブジェクト。
また、数値や文字列も受け付けます。 -
Method
# parameters -> [object] (18358.0) -
Method オブジェクトの引数の情報を返します。
Method オブジェクトの引数の情報を返します。
Method オブジェクトが引数を取らなければ空の配列を返します。引数を取る場合は、配列の配列を返し、
各配列の要素は引数の種類に応じた以下のような Symbol と、仮引数の名前を表す Symbol の 2 要素です。
組み込みのメソッドでは、仮引数の名前が取れません。
: :req
必須の引数
: :opt
デフォルト値が指定されたオプショナルな引数
: :rest
* で指定された残りすべての引数
: :keyreq
必須のキーワード引数
: :key
デフォルト値が指定されたオプショナルなキーワード引数
: :keyre... -
Proc
# parameters -> [object] (18358.0) -
Proc オブジェクトの引数の情報を返します。
Proc オブジェクトの引数の情報を返します。
Proc オブジェクトが引数を取らなければ空の配列を返します。引数を取る場合は、配列の配列を返し、
各配列の要素は引数の種類に対応した以下のような Symbol と、引数名を表す Symbol の 2 要素です。
: :req
必須の引数
: :opt
デフォルト値が指定されたオプショナルな引数
: :rest
* で指定された残りすべての引数
: :keyreq
必須のキーワード引数
: :key
デフォルト値が指定されたオプショナルなキーワード引数
: :keyrest
** で指定された残りのキーワード引数
: :block... -
Set
# intersection(enum) -> Set (9094.0) -
共通部分、すなわち、2つの集合のいずれにも属するすべての要素からなる 新しい集合を作ります。
共通部分、すなわち、2つの集合のいずれにも属するすべての要素からなる
新しい集合を作ります。
@param enum each メソッドが定義されたオブジェクトを指定します。
@raise ArgumentError 引数 enum に each メソッドが定義されていない場合に
発生します。
//emlist[][ruby]{
require 'set'
s1 = Set[10, 20, 30]
s2 = Set[10, 30, 50]
p s1 & s2 #=> #<Set: {10, 30}>
//}
@see Array#& -
Net
:: HTTPHeader # set _ form _ data(params , sep = & # 39;&& # 39;) -> () (676.0) -
HTMLのフォームのデータ params から ヘッダフィールドとボディを設定します。
HTMLのフォームのデータ params から
ヘッダフィールドとボディを設定します。
ヘッダフィールド Content-Type: には
'application/x-www-form-urlencoded' が設定されます。
@param params HTML のフォームデータの Hash を与えます。
@param sep データのセパレータを文字列で与えます。
//emlist[例 form_data][ruby]{
require 'net/http'
uri = URI.parse('http://www.example.com/index.html')
req = Ne... -
Object
# initialize(*args , &block) -> object (469.0) -
ユーザ定義クラスのオブジェクト初期化メソッド。
ユーザ定義クラスのオブジェクト初期化メソッド。
このメソッドは Class#new から新しく生成されたオブ
ジェクトの初期化のために呼び出されます。他の言語のコンストラクタに相当します。
デフォルトの動作ではなにもしません。
initialize には
Class#new に与えられた引数がそのまま渡されます。
サブクラスではこのメソッドを必要に応じて再定義されること
が期待されています。
initialize という名前のメソッドは自動的に private に設定され
ます。
@param args 初期化時の引数です。
@param block 初期化時のブロック引数です。必... -
Syslog
:: Logger # add(severity , message = nil , progname = nil , &block) -> true (433.0) -
メッセージをログに記録します。Logger#add とほぼ同じ動作をします。
メッセージをログに記録します。Logger#add とほぼ同じ動作をします。
ブロックを与えた場合はブロックを評価した返り値をメッセージとしてログに
記録します。 ユーザがこのメソッドを直接使うことはあまりありません。
@param severity ログレベル。Logger クラスで定義されている定数を指定しま
す。この値がレシーバーに設定されているレベルよりも低い
場合、メッセージは記録されません。
@param message ログに出力するメッセージを表すオブジェクトを指定します。
省... -
OptionParser
# on _ head(*arg , &block) -> self (397.0) -
オプションを取り扱うためのブロックを自身の持つリストの最初に登録します。
オプションを取り扱うためのブロックを自身の持つリストの最初に登録します。
@param arg OptionParser#on と同様です。
@param block OptionParser#on と同様です。
//emlist[例][ruby]{
require "optparse"
opts = OptionParser.new do |opts|
opts.on_head("-i", "--init")
opts.on("-u", "--update")
opts.on_tail("-h", "--help")
end
puts opts.help
# => ... -
OptionParser
# on _ tail(*arg , &block) -> self (397.0) -
オプションを取り扱うためのブロックを自身の持つリストの最後に登録します。
オプションを取り扱うためのブロックを自身の持つリストの最後に登録します。
--version や --help の説明をサマリの最後に表示したい時に便利です。
@param arg OptionParser#on と同様です。
@param block OptionParser#on と同様です。
//emlist[例][ruby]{
require "optparse"
opts = OptionParser.new do |opts|
opts.on_head("-i", "--init")
opts.on("-u", "--update")
opts.on_tai... -
Shell
# cd(path , &block) -> self (382.0) -
カレントディレクトリをpathにする. イテレータとして呼ばれたときには ブロック実行中のみカレントディレクトリを変更する.
カレントディレクトリをpathにする. イテレータとして呼ばれたときには
ブロック実行中のみカレントディレクトリを変更する.
@param path カレントディレクトリを文字列で指定します.
@param block path で指定したディレクトリで行う操作をブロックで指定します.
使用例
require 'shell'
sh = Shell.new
sh.transact {
cd("/tmp"){
p cwd #=> "/tmp"
}
p cwd #=> "/Users/kouya/rbmanual"
} -
Shell
# chdir(path , &block) -> self (382.0) -
カレントディレクトリをpathにする. イテレータとして呼ばれたときには ブロック実行中のみカレントディレクトリを変更する.
カレントディレクトリをpathにする. イテレータとして呼ばれたときには
ブロック実行中のみカレントディレクトリを変更する.
@param path カレントディレクトリを文字列で指定します.
@param block path で指定したディレクトリで行う操作をブロックで指定します.
使用例
require 'shell'
sh = Shell.new
sh.transact {
cd("/tmp"){
p cwd #=> "/tmp"
}
p cwd #=> "/Users/kouya/rbmanual"
} -
Shell
# pushd(path = nil , &block) -> object (382.0) -
カレントディレクトリをディレクトリスタックにつみ, カレントディレク トリをpathにする. pathが省略されたときには, カレントディレクトリと ディレクトリスタックのトップを交換する. イテレータとして呼ばれたと きには, ブロック実行中のみpushdする.
カレントディレクトリをディレクトリスタックにつみ, カレントディレク
トリをpathにする. pathが省略されたときには, カレントディレクトリと
ディレクトリスタックのトップを交換する. イテレータとして呼ばれたと
きには, ブロック実行中のみpushdする.
@param path カレントディレクトリをpathにする。文字列で指定します。
@param block イテレータとして呼ぶ場合, ブロックを指定します。
動作例
require 'shell'
Shell.verbose = false
sh = Shell.new
sh.pushd("/tmp"... -
Shell
# pushdir(path = nil , &block) -> object (382.0) -
カレントディレクトリをディレクトリスタックにつみ, カレントディレク トリをpathにする. pathが省略されたときには, カレントディレクトリと ディレクトリスタックのトップを交換する. イテレータとして呼ばれたと きには, ブロック実行中のみpushdする.
カレントディレクトリをディレクトリスタックにつみ, カレントディレク
トリをpathにする. pathが省略されたときには, カレントディレクトリと
ディレクトリスタックのトップを交換する. イテレータとして呼ばれたと
きには, ブロック実行中のみpushdする.
@param path カレントディレクトリをpathにする。文字列で指定します。
@param block イテレータとして呼ぶ場合, ブロックを指定します。
動作例
require 'shell'
Shell.verbose = false
sh = Shell.new
sh.pushd("/tmp"... -
Class
# new(*args , &block) -> object (379.0) -
自身のインスタンスを生成して返します。 このメソッドの引数はブロック引数も含め Object#initialize に渡されます。
自身のインスタンスを生成して返します。
このメソッドの引数はブロック引数も含め Object#initialize に渡されます。
new は Class#allocate でインスタンスを生成し、
Object#initialize で初期化を行います。
@param args Object#initialize に渡される引数を指定します。
@param block Object#initialize に渡されるブロックを指定します。
//emlist[例][ruby]{
# Class クラスのインスタンス、C クラスを生成
C = Class.new # => C
# ... -
Shell
# out(dev = STDOUT , &block) -> () (379.0) -
Shell#transact を呼び出しその結果を dev に出力します。
Shell#transact を呼び出しその結果を dev に出力します。
@param dev 出力先をIO オブジェクトなどで指定します。
@param block transact 内部で実行するシェルを指定します。
使用例:
require 'shell'
Shell.def_system_command("head")
sh = Shell.new
File.open("out.txt", "w"){ |fp|
sh.out(fp) {
system("ls", "-l") | head("-n 3")
}
} -
Shell
:: CommandProcessor # out(dev = STDOUT , &block) -> () (379.0) -
Shell#transact を呼び出しその結果を dev に出力します。
Shell#transact を呼び出しその結果を dev に出力します。
@param dev 出力先をIO オブジェクトなどで指定します。
@param block transact 内部で実行するシェルを指定します。
使用例:
require 'shell'
Shell.def_system_command("head")
sh = Shell.new
File.open("out.txt", "w"){ |fp|
sh.out(fp) {
system("ls", "-l") | head("-n 3")
}
} -
Shell
:: Filter # out(dev = STDOUT , &block) -> () (379.0) -
Shell#transact を呼び出しその結果を dev に出力します。
Shell#transact を呼び出しその結果を dev に出力します。
@param dev 出力先をIO オブジェクトなどで指定します。
@param block transact 内部で実行するシェルを指定します。
使用例:
require 'shell'
Shell.def_system_command("head")
sh = Shell.new
File.open("out.txt", "w"){ |fp|
sh.out(fp) {
system("ls", "-l") | head("-n 3")
}
} -
Shell
# foreach(path = nil , &block) -> () (343.0) -
pathがファイルなら, File#foreach pathがディレクトリなら, Dir#foreach の動作をします。
pathがファイルなら, File#foreach
pathがディレクトリなら, Dir#foreach
の動作をします。
@param path ファイルもしくはディレクトリのパスを文字列で指定します。
使用例
require 'shell'
Shell.verbose = false
sh = Shell.new
sh.foreach("/tmp"){|f|
puts f
} -
Shell
:: CommandProcessor # foreach(path = nil , &block) -> () (343.0) -
pathがファイルなら, File#foreach pathがディレクトリなら, Dir#foreach の動作をします。
pathがファイルなら, File#foreach
pathがディレクトリなら, Dir#foreach
の動作をします。
@param path ファイルもしくはディレクトリのパスを文字列で指定します。
使用例
require 'shell'
Shell.verbose = false
sh = Shell.new
sh.foreach("/tmp"){|f|
puts f
} -
Shell
:: Filter # foreach(path = nil , &block) -> () (343.0) -
pathがファイルなら, File#foreach pathがディレクトリなら, Dir#foreach の動作をします。
pathがファイルなら, File#foreach
pathがディレクトリなら, Dir#foreach
の動作をします。
@param path ファイルもしくはディレクトリのパスを文字列で指定します。
使用例
require 'shell'
Shell.verbose = false
sh = Shell.new
sh.foreach("/tmp"){|f|
puts f
} -
Psych
:: Handler # scalar(value , anchor , tag , plain , quoted , style) -> () (238.0) -
スカラー値を見付けたときに呼び出されます。
スカラー値を見付けたときに呼び出されます。
value にはスカラー値の文字列が渡されます。
anchor にはスカラー値に関連付けられた anchor の名前が文字列で渡されます。
anchor がない場合には nil が渡されます。
tag にはスカラー値に関連付けられた tag の名前が文字列で渡されます。
tag がない場合には nil が渡されます。
plain は plain style であるかどうか、quoted は quoted style であるかどうか
が渡されます。style には node の style が整数値で渡されます。
style は次の値のいずれか... -
OpenURI
:: OpenRead # open(mode = & # 39;r& # 39; , perm = nil , options = {}) -> StringIO (214.0) -
自身が表すリソースを取得して StringIO オブジェクトとして返します。 OpenURI.open_uri(self, *rest, &block) と同じです。
自身が表すリソースを取得して StringIO オブジェクトとして返します。
OpenURI.open_uri(self, *rest, &block) と同じです。
ブロックを与えた場合は StringIO オブジェクトを引数としてブロックを
評価します。ブロックの終了時に StringIO は close されます。nil を返します。
返り値である StringIO オブジェクトは OpenURI::Meta モジュールで extend されています。
@param mode モードを文字列で与えます。Kernel.#open と同じです。
@param perm 無視されます... -
OpenURI
:: OpenRead # open(mode = & # 39;r& # 39; , perm = nil , options = {}) {|sio| . . . } -> nil (214.0) -
自身が表すリソースを取得して StringIO オブジェクトとして返します。 OpenURI.open_uri(self, *rest, &block) と同じです。
自身が表すリソースを取得して StringIO オブジェクトとして返します。
OpenURI.open_uri(self, *rest, &block) と同じです。
ブロックを与えた場合は StringIO オブジェクトを引数としてブロックを
評価します。ブロックの終了時に StringIO は close されます。nil を返します。
返り値である StringIO オブジェクトは OpenURI::Meta モジュールで extend されています。
@param mode モードを文字列で与えます。Kernel.#open と同じです。
@param perm 無視されます... -
Net
:: HTTP # post(path , data , header = nil , dest = nil) -> Net :: HTTPResponse (184.0) -
サーバ上の path にあるエンティティに対し文字列 data を POST で送ります。
サーバ上の path にあるエンティティに対し文字列 data を
POST で送ります。
返り値は Net::HTTPResponse のインスタンスです。
ブロックと一緒に呼びだされたときはエンティティボディを少しずつ文字列として
ブロックに与えます。このとき戻り値の HTTPResponse オブジェクトは有効な body を
持ちません。
POST する場合にはヘッダに Content-Type: を指定する必要があります。
もし header に指定しなかったならば、 Content-Type として
"application/x-www-form-urlencoded" を... -
Net
:: HTTP # post(path , data , header = nil , dest = nil) {|body _ segment| . . . . } -> Net :: HTTPResponse (184.0) -
サーバ上の path にあるエンティティに対し文字列 data を POST で送ります。
サーバ上の path にあるエンティティに対し文字列 data を
POST で送ります。
返り値は Net::HTTPResponse のインスタンスです。
ブロックと一緒に呼びだされたときはエンティティボディを少しずつ文字列として
ブロックに与えます。このとき戻り値の HTTPResponse オブジェクトは有効な body を
持ちません。
POST する場合にはヘッダに Content-Type: を指定する必要があります。
もし header に指定しなかったならば、 Content-Type として
"application/x-www-form-urlencoded" を... -
Psych
:: Handler # start _ mapping(anchor , tag , implicit , style) -> () (166.0) -
mapping の開始を見付けたときに呼び出されます。
mapping の開始を見付けたときに呼び出されます。
anchor には map に関連付けられた anchor の名前が文字列で渡されます。
anchor がない場合には nil が渡されます。
tag には map に関連付けられた tag の名前が文字列で渡されます。
tag がない場合には nil が渡されます。
implicit には map が implicit に開始されたかどうかが
真偽値で渡されます。
style には sequence の style が整数値で渡されます。以下のいずれか
です。
* Psych::Nodes::Mapping::BLOCK
... -
Psych
:: Handler # start _ sequence(anchor , tag , implicit , style) -> () (166.0) -
sequence の開始を見付けたときに呼び出されます。
sequence の開始を見付けたときに呼び出されます。
anchor には sequence に関連付けられた anchor の名前が文字列で渡されます。
anchor がない場合には nil が渡されます。
tag には sequence に関連付けられた tag の名前が文字列で渡されます。
tag がない場合には nil が渡されます。
implicit には sequence が implicit に開始されたかどうかが
真偽値で渡されます。
style には sequence の style が整数値で渡されます。以下のいずれか
です。
* Psych::Nodes:... -
String
# unpack(template) -> Array (166.0) -
Array#pack で生成された文字列を テンプレート文字列 template にしたがってアンパックし、 それらの要素を含む配列を返します。
Array#pack で生成された文字列を
テンプレート文字列 template にしたがってアンパックし、
それらの要素を含む配列を返します。
@param template pack テンプレート文字列
@return オブジェクトの配列
以下にあげるものは、Array#pack、String#unpack
のテンプレート文字の一覧です。テンプレート文字は後に「長さ」を表す数字
を続けることができます。「長さ」の代わりに`*'とすることで「残り全て」
を表すこともできます。
長さの意味はテンプレート文字により異なりますが大抵、
"iiii"
のよう... -
Array
# pack(template) -> String (148.0) -
配列の内容を template で指定された文字列にしたがって、 バイナリとしてパックした文字列を返します。
配列の内容を template で指定された文字列にしたがって、
バイナリとしてパックした文字列を返します。
テンプレートは
型指定文字列とその長さ(省略時は1)を並べたものです。長さと
して * が指定された時は「残りのデータ全て」の長さを
表します。型指定文字は以下で述べる pack テンプレート文字列の通りです。
@param template 自身のバイナリとしてパックするためのテンプレートを文字列で指定します。
以下にあげるものは、Array#pack、String#unpack
のテンプレート文字の一覧です。テンプレート文字は後に「長さ」を表す数字
を続けることができま... -
Integer
# [](nth) -> Integer (76.0) -
nth 番目のビット(最下位ビット(LSB)が 0 番目)が立っている時 1 を、そうでなければ 0 を返します。
nth 番目のビット(最下位ビット(LSB)が 0 番目)が立っている時 1
を、そうでなければ 0 を返します。
@param nth 何ビット目を指すかの数値
@return 1 か 0
//emlist[][ruby]{
a = 0b11001100101010
30.downto(0) {|n| print a[n] }
# => 0000000000000000011001100101010
a = 9**15
50.downto(0) {|n| print a[n] }
# => 00010111011010000011100001111001010011110... -
Psych
:: Handler # alias(anchor) -> () (76.0) -
anchor という名前の alias を見付けたときに呼び出されます。
anchor という名前の alias を見付けたときに呼び出されます。
必要に応じてこのメソッドを override してください。
@param anchor aliasのアンカー文字列
=== 例
以下の YAMLドキュメントは自分自身への参照を持つ配列を表しています。
--- &ponies
- first element
- *ponies
この &ponies が anchor で *ponies が alias です。この場合、
alias メソッドは "poines" という引数で呼び出されます。 -
TSort
# each _ strongly _ connected _ component _ from(node , id _ map={} , stack=[]) -> Enumerator (76.0) -
node から到達可能な強連結成分についてのイテレータです。
node から到達可能な強連結成分についてのイテレータです。
返す値は規定されていません。
each_strongly_connected_component_from は
tsort_each_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... -
TSort
# each _ strongly _ connected _ component _ from(node , id _ map={} , stack=[]) {|nodes| . . . } -> () (76.0) -
node から到達可能な強連結成分についてのイテレータです。
node から到達可能な強連結成分についてのイテレータです。
返す値は規定されていません。
each_strongly_connected_component_from は
tsort_each_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... -
String
# sum(bits = 16) -> Integer (58.0) -
文字列の bits ビットのチェックサムを計算します。
文字列の bits ビットのチェックサムを計算します。
以下と同じです。
//emlist[][ruby]{
def sum(bits)
sum = 0
each_byte {|c| sum += c }
return 0 if sum == 0
sum & ((1 << bits) - 1)
end
//}
例えば以下のコードで UNIX System V の
sum(1) コマンドと同じ値が得られます。
//emlist[例][ruby]{
sum = 0
ARGF.each_line do |line|
sum += line.sum
end
sum %= ...