種類
- インスタンスメソッド (18)
- 文書 (12)
- ライブラリ (11)
- クラス (8)
- モジュール関数 (5)
ライブラリ
- ビルトイン (22)
- benchmark (1)
- csv (1)
-
drb
/ acl (1) - erb (1)
- psych (1)
-
rexml
/ document (1) -
ripper
/ filter (1) - timeout (2)
クラス
- Array (14)
-
Psych
:: Handler (1) - Regexp (1)
- String (2)
キーワード
-
1
. 6 . 8から1 . 8 . 0への変更点(まとめ) (1) - =~ (1)
- ACL (1)
- CSV (1)
- ERB (1)
- ExternalEntity (1)
- Filter (1)
- Marshal フォーマット (1)
-
NEWS for Ruby 2
. 0 . 0 (1) -
NEWS for Ruby 2
. 2 . 0 (1) -
NEWS for Ruby 2
. 6 . 0 (1) - Numeric (1)
- Rubyで使われる記号の意味(正規表現の複雑な記号は除く) (1)
- Ruby用語集 (1)
- Status (1)
- Symbol (1)
- all? (3)
- any? (3)
- benchmark (1)
-
drb
/ extservm (1) - find (1)
- format (1)
- irb (1)
- logger (1)
- none? (3)
- one? (3)
- pack (2)
- pack テンプレート文字列 (1)
- profile (1)
- rexml (1)
-
rexml
/ parsers / streamparser (1) -
ruby 1
. 9 feature (1) - scanf (1)
- sprintf (1)
- sprintf フォーマット (1)
-
start
_ document (1) - timeout (2)
- tracer (1)
- tsort (1)
- unpack (1)
- yaml (1)
- クラス/メソッドの定義 (1)
- 演算子式 (1)
検索結果
先頭5件
-
String
# %(args) -> String (54841.0) -
printf と同じ規則に従って args をフォーマットします。
printf と同じ規則に従って args をフォーマットします。
args が配列であれば Kernel.#sprintf(self, *args) と同じです。
それ以外の場合は Kernel.#sprintf(self, args) と同じです。
@param args フォーマットする値、もしくはその配列
@return フォーマットされた文字列
//emlist[例][ruby]{
p "i = %d" % 10 # => "i = 10"
p "i = %x" % 10 # => "i = a"
p "i = %o" % 10... -
ruby 1
. 9 feature (1567.0) -
ruby 1.9 feature ruby version 1.9.0 は開発版です。 以下にあげる機能は将来削除されたり互換性のない仕様変更がなされるかもしれません。 1.9.1 以降は安定版です。 バグ修正がメインになります。
ruby 1.9 feature
ruby version 1.9.0 は開発版です。
以下にあげる機能は将来削除されたり互換性のない仕様変更がなされるかもしれません。
1.9.1 以降は安定版です。
バグ修正がメインになります。
記号について(特に重要なものは大文字(主観))
* カテゴリ
* [ruby]: ruby インタプリタの変更
* [api]: 拡張ライブラリ API
* [lib]: ライブラリ
* [parser]: 文法の変更
* [regexp]: 正規表現の機能拡張
* [marshal]: Marshal ファイルのフォーマット変更
* ... -
1
. 6 . 8から1 . 8 . 0への変更点(まとめ) (1477.0) -
1.6.8から1.8.0への変更点(まとめ) * ((<1.6.8から1.8.0への変更点(まとめ)/インタプリタの変更>)) * ((<1.6.8から1.8.0への変更点(まとめ)/追加されたクラス/モジュール>)) * ((<1.6.8から1.8.0への変更点(まとめ)/追加されたメソッド>)) * ((<1.6.8から1.8.0への変更点(まとめ)/追加された定数>)) * ((<1.6.8から1.8.0への変更点(まとめ)/拡張されたクラス/メソッド(互換性のある変更)>)) * ((<1.6.8から1.8.0への変更点(まとめ)/変更されたクラス/メソッド(互換性のない変更)>)) * ((<1.6.8から1.8.0への変更点(まとめ)/文法の変更>)) * ((<1.6.8から1.8.0への変更点(まとめ)/正規表現>)) * ((<1.6.8から1.8.0への変更点(まとめ)/Marshal>)) * ((<1.6.8から1.8.0への変更点(まとめ)/Windows 対応>)) * ((<1.6.8から1.8.0への変更点(まとめ)/廃止された(される予定の)機能>)) * ((<1.6.8から1.8.0への変更点(まとめ)/ライブラリ>)) * ((<1.6.8から1.8.0への変更点(まとめ)/拡張ライブラリAPI>)) * ((<1.6.8から1.8.0への変更点(まとめ)/バグ修正>)) * ((<1.6.8から1.8.0への変更点(まとめ)/サポートプラットフォームの追加>))
1.6.8から1.8.0への変更点(まとめ)
* ((<1.6.8から1.8.0への変更点(まとめ)/インタプリタの変更>))
* ((<1.6.8から1.8.0への変更点(まとめ)/追加されたクラス/モジュール>))
* ((<1.6.8から1.8.0への変更点(まとめ)/追加されたメソッド>))
* ((<1.6.8から1.8.0への変更点(まとめ)/追加された定数>))
* ((<1.6.8から1.8.0への変更点(まとめ)/拡張されたクラス/メソッド(互換性のある変更)>))
* ((<1.6.8から1.8.0への変更点(まとめ)/変更されたクラス/メソッド(互換性のない変更)>))... -
Ruby用語集 (973.0)
-
Ruby用語集 A B C D E F G I J M N O R S Y
Ruby用語集
A B C D E F G I J M N O R S Y
a ka sa ta na ha ma ya ra wa
=== 記号・数字
: %記法
: % notation
「%」記号で始まる多種多様なリテラル記法の総称。
参照:d:spec/literal#percent
: 0 オリジン
: zero-based
番号が 0 から始まること。
例えば、
Array や Vector、Matrix などの要素の番号、
String における文字の位置、
といったものは 0 オリジンである。
: 1 オリジン
: one-based
... -
Array
# pack(template) -> String (595.0) -
配列の内容を template で指定された文字列にしたがって、 バイナリとしてパックした文字列を返します。
配列の内容を template で指定された文字列にしたがって、
バイナリとしてパックした文字列を返します。
テンプレートは
型指定文字列とその長さ(省略時は1)を並べたものです。長さと
して * が指定された時は「残りのデータ全て」の長さを
表します。型指定文字は以下で述べる pack テンプレート文字列の通りです。
buffer が指定されていれば、バッファとして使って返値として返します。
もし template の最初にオフセット (@) が指定されていれば、
結果はオフセットの後ろから詰められます。
buffer の元の内容がオフセットより長ければ、
オフセットより後ろの部分は上... -
Array
# pack(template , buffer: String . new) -> String (595.0) -
配列の内容を template で指定された文字列にしたがって、 バイナリとしてパックした文字列を返します。
配列の内容を template で指定された文字列にしたがって、
バイナリとしてパックした文字列を返します。
テンプレートは
型指定文字列とその長さ(省略時は1)を並べたものです。長さと
して * が指定された時は「残りのデータ全て」の長さを
表します。型指定文字は以下で述べる pack テンプレート文字列の通りです。
buffer が指定されていれば、バッファとして使って返値として返します。
もし template の最初にオフセット (@) が指定されていれば、
結果はオフセットの後ろから詰められます。
buffer の元の内容がオフセットより長ければ、
オフセットより後ろの部分は上... -
String
# unpack(template) -> Array (595.0) -
Array#pack で生成された文字列を テンプレート文字列 template にしたがってアンパックし、 それらの要素を含む配列を返します。
Array#pack で生成された文字列を
テンプレート文字列 template にしたがってアンパックし、
それらの要素を含む配列を返します。
@param template pack テンプレート文字列
@return オブジェクトの配列
以下にあげるものは、Array#pack、String#unpack、String#unpack1
のテンプレート文字の一覧です。テンプレート文字は後に「長さ」を表す数字
を続けることができます。「長さ」の代わりに`*'とすることで「残り全て」
を表すこともできます。
長さの意味はテンプレート文字により異なりますが大... -
pack テンプレート文字列 (595.0)
-
pack テンプレート文字列
pack テンプレート文字列
以下にあげるものは、Array#pack、String#unpack、String#unpack1
のテンプレート文字の一覧です。テンプレート文字は後に「長さ」を表す数字
を続けることができます。「長さ」の代わりに`*'とすることで「残り全て」
を表すこともできます。
長さの意味はテンプレート文字により異なりますが大抵、
"iiii"
のように連続するテンプレート文字は
"i4"
と書き換えることができます。
テンプレート文字列中の空白類は無視されます。
また、`#' から改行あるいはテンプレート文字列の最後まではコメントとみな
され無視されます。... -
クラス/メソッドの定義 (469.0)
-
クラス/メソッドの定義 * クラス/メソッドの定義: * class * singleton_class * module * method * operator * nest_method * eval_method * singleton_method * class_method * limit * 定義に関する操作: * alias * undef * defined
クラス/メソッドの定義
* クラス/メソッドの定義:
* class
* singleton_class
* module
* method
* operator
* nest_method
* eval_method
* singleton_method
* class_method
* limit
* 定義に関する操作:
* alias
* undef
* defined
===[a:class] クラス定義
//emlist[例][ruby]{
class Foo < S... -
sprintf フォーマット (373.0)
-
sprintf フォーマット === sprintf フォーマット
sprintf フォーマット === sprintf フォーマット
Ruby の sprintf フォーマットは基本的に C 言語の sprintf(3)
のものと同じです。ただし、short や long などの C 特有の型に対する修飾子が
ないこと、2進数の指示子(%b, %B)が存在すること、sprintf のすべての方言をサ
ポートしていないこと(%': 3桁区切り)などの違いがあります。
Ruby には整数の大きさに上限がないので、%b, %B, %o, %x, %X
に負の数を与えると (左側に無限に1が続くとみなせるので)
..f のような表示をします。絶対値に符号を付けた... -
Kernel
. # format(format , *arg) -> String (343.0) -
format 文字列を C 言語の sprintf と同じように解釈し、 引数をフォーマットした文字列を返します。
format 文字列を C 言語の sprintf と同じように解釈し、
引数をフォーマットした文字列を返します。
@param format フォーマット文字列です。
@param arg フォーマットされる引数です。
@see Kernel.#printf,Time#strftime,Date.strptime
=== sprintf フォーマット
Ruby の sprintf フォーマットは基本的に C 言語の sprintf(3)
のものと同じです。ただし、short や long などの C 特有の型に対する修飾子が
ないこと、2進数の指示子(%b, %B)が存在すること、s... -
Kernel
. # sprintf(format , *arg) -> String (343.0) -
format 文字列を C 言語の sprintf と同じように解釈し、 引数をフォーマットした文字列を返します。
format 文字列を C 言語の sprintf と同じように解釈し、
引数をフォーマットした文字列を返します。
@param format フォーマット文字列です。
@param arg フォーマットされる引数です。
@see Kernel.#printf,Time#strftime,Date.strptime
=== sprintf フォーマット
Ruby の sprintf フォーマットは基本的に C 言語の sprintf(3)
のものと同じです。ただし、short や long などの C 特有の型に対する修飾子が
ないこと、2進数の指示子(%b, %B)が存在すること、s... -
ERB (307.0)
-
eRuby スクリプトを処理するクラス。
eRuby スクリプトを処理するクラス。
従来 ERbLight と呼ばれていたもので、
標準出力への印字が文字列の挿入とならない点が eruby と異なります。
* https://magazine.rubyist.net/articles/0017/0017-BundledLibraries.html
=== 使い方
ERB クラスを使うためには require 'erb' する必要があります。
例:
require 'erb'
ERB.new($<.read).run
=== trim_mode
trim_mode は整形の挙動を変更するオプションです。次の... -
Marshal フォーマット (307.0)
-
Marshal フォーマット フォーマットバージョン 4.8 を元に記述しています。
Marshal フォーマット
フォーマットバージョン 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(false).unpack1("x2 a*") # => "F"
//}
Ruby 2.1 以前では、インスタンス変数を設定しても dump されません... -
Rubyで使われる記号の意味(正規表現の複雑な記号は除く) (289.0)
-
Rubyで使われる記号の意味(正規表現の複雑な記号は除く) ex q num per and or plus minus ast slash hat sq period comma langl rangl eq tilde dollar at under lbrarbra lbra2rbra2 lbra3rbra3 dq colon ac backslash semicolon
Rubyで使われる記号の意味(正規表現の複雑な記号は除く)
ex q num per and or
plus minus ast slash hat sq
period comma langl rangl eq tilde
dollar at under lbrarbra
lbra2rbra2 lbra3rbra3 dq colon ac
backslash semicolon
===[a:ex] !
: !true
not 演算子。d:spec/operator#notを参照。
: 3 != 5
「等しくない」比較演算子。d:spec/operator#notを参... -
irb (289.0)
-
irb は Interactive Ruby の略です。 irb を使うと、Ruby の式を標準入力から簡単に入力・実行することができます。
irb は Interactive Ruby の略です。
irb を使うと、Ruby の式を標準入力から簡単に入力・実行することができます。
=== irb の使い方
Ruby さえ知っていれば irb を使うのは簡単です。
irb コマンドを実行すると、以下のようなプロンプトが表れます。
$ irb
irb(main):001:0>
あとは Ruby の式を入力するだけで、その式が実行され、結果が表示されます。
irb(main):001:0> 1+2
3
irb(main):002:0> class Foo
irb(main):003:1> def f... -
rexml (271.0)
-
Pure Ruby の XML パーサです。 DOM スタイルと SAX スタイルの両方をカバーしています。
Pure Ruby の XML パーサです。
DOM スタイルと SAX スタイルの両方をカバーしています。
DOM スタイルの API を使うためには rexml/document を使います。
SAX スタイルの API には、
* rexml/parsers/sax2parser
* rexml/parsers/streamparser
のいずれかを用います。
また、それ以外のパーサとして
* rexml/parsers/pullparser
* rexml/parsers/ultralightparser
などもあります。
=== リンク
* REXML ... -
NEWS for Ruby 2
. 2 . 0 (181.0) -
NEWS for Ruby 2.2.0 このドキュメントは前回リリース以降のバグ修正を除くユーザーに影響のある機能の変更のリストです。
NEWS for Ruby 2.2.0
このドキュメントは前回リリース以降のバグ修正を除くユーザーに影響のある機能の変更のリストです。
それぞれのエントリーは参照情報があるため短いです。
十分な情報と共に書かれた全ての変更のリストは ChangeLog ファイルか bugs.ruby-lang.org の issue を参照してください。
== 2.1.0 以降の変更
=== 言語仕様の変更
* nil/true/false
* nil/true/false はフリーズされました 8923
* Hash リテラル
* 後ろにコロンのあるシンボルをキーにしたと... -
scanf (181.0)
-
String#scan のフォーマット指定版といえるメソッド String#scanf を定義します。
String#scan のフォーマット指定版といえるメソッド String#scanf
を定義します。
組み込みクラス String と IO を拡張します。
=== 例
require 'scanf'
p "a 10 1.2". scanf("%s %d %f") # => ["a", 10, 1.2]
p "a 10 1.2 b 20 1.5e10".scanf("%s %d %f") # => ["a", 10, 1.2]
p "a 10 1.2 b 20 1.5e10".scanf("%s %d %f") {|*v| v}
... -
NEWS for Ruby 2
. 0 . 0 (163.0) -
NEWS for Ruby 2.0.0 このドキュメントは前回リリース以降のバグ修正を除くユーザーに影響のある機能の変更のリストです。
NEWS for Ruby 2.0.0
このドキュメントは前回リリース以降のバグ修正を除くユーザーに影響のある機能の変更のリストです。
それぞれのエントリーは参照情報があるため短いです。
十分な情報と共に書かれた全ての変更のリストは ChangeLog ファイルか bugs.ruby-lang.org の issue を参照してください。
== 1.9.3 以降の変更
=== 言語仕様の変更
* キーワード引数を追加しました
* %i, %I をシンボルの配列作成のために追加しました。(%w, %W に似ています)
* デフォルトのソースエンコーディングを US-ASCI... -
Benchmark
. # benchmark(caption = "" , label _ width = nil , fmtstr = nil , *labels) {|rep| . . . } -> [Benchmark :: Tms] (145.0) -
Benchmark::Report オブジェクトを生成し、それを引数として与えられたブロックを実行します。
Benchmark::Report オブジェクトを生成し、それを引数として与えられたブロックを実行します。
基本的には以下のように使います。
ブロックが Benchmark::Tms オブジェクトの配列を返した場合は、
それらの数値も追加の行に表示されます。
@param caption レポートの一行目に表示する文字列を指定します。
@param label_width ラベルの幅を指定します。
@param fmtstr フォーマット文字列を指定します。
この引数を省略すると Benchmark::FORMAT が使用されます。... -
CSV (145.0)
-
このクラスは CSV ファイルやデータに対する完全なインターフェイスを提供します。
このクラスは CSV ファイルやデータに対する完全なインターフェイスを提供します。
=== 読み込み
//emlist[][ruby]{
require "csv"
csv_text = <<~CSV_TEXT
Ruby,1995
Rust,2010
CSV_TEXT
IO.write "sample.csv", csv_text
# ファイルから一行ずつ
CSV.foreach("sample.csv") do |row|
p row
end
# => ["Ruby", "1995"]
# ["Rust", "2010"]
# ファイルから一度に
p CSV.r... -
NEWS for Ruby 2
. 6 . 0 (145.0) -
NEWS for Ruby 2.6.0 このドキュメントは前回リリース以降のバグ修正を除くユーザーに影響のある機能の変更のリストです。
...NEWS for Ruby 2.6.0
このドキュメントは前回リリース以降のバグ修正を除くユーザーに影響のある機能の変更のリストです。
それぞれのエントリーは参照情報があるため短いです。
十分な情報と共に書かれた全ての変更のリス......ます。
Object#to_d メソッドは Kernel.#BigDecimal() や
BigDecimal.new とは違いがあります。
* 2.0.0 は Ruby 2.6.0 のリリース後すぐにリリースされる予定です。
このバージョンは BigDecimal.new メソッドを含みません。......をリビルドする必要がある負担がなくなります。
* 変更前:
* libruby.2.6.0.dylib
* libruby.2.6.dylib -> libruby.2.6.0.dylib
* libruby.dylib -> libruby.2.6.0.dylib
* 変更後:
* libruby.2.6.dylib
* libruby.dylib -> libruby.2.6.dylib
* mi... -
tsort (145.0)
-
tsort はトポロジカルソートと強連結成分に関するモジュールを提供します。
tsort はトポロジカルソートと強連結成分に関するモジュールを提供します。
=== Example
//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
{1=>[2, 3], 2=>[3], 3=>[], 4=>[]}.tsort
#=> [3, 2, 1, 4]
{1=>[2], 2=>[3, 4... -
yaml (145.0)
-
構造化されたデータを表現するフォーマットであるYAML (YAML Ain't Markup Language) を扱うためのライブラリです。
構造化されたデータを表現するフォーマットであるYAML (YAML Ain't Markup Language) を扱うためのライブラリです。
//emlist[例1: 構造化された配列][ruby]{
require 'yaml'
data = ["Taro san", "Jiro san", "Saburo san"]
str_r = YAML.dump(data)
str_l = <<~YAML_EOT
---
- Taro san
- Jiro san
- Saburo san
YAML_EOT
p str_r == str_l # => true
//}
... -
REXML
:: ExternalEntity (109.0) -
DTD 内の宣言でパラメータ実体参照を使って宣言が されているものを表わすクラスです。
DTD 内の宣言でパラメータ実体参照を使って宣言が
されているものを表わすクラスです。
例えば、以下の DTD 宣言における %HTMLsymbol が
それにあたります。
<!ENTITY % HTMLsymbol PUBLIC
"-//W3C//ENTITIES Symbols for XHTML//EN"
"xhtml-symbol.ent">
%HTMLsymbol;
//emlist[][ruby]{
require 'rexml/document'
doctype = REXML::Document.new(<<EOS).doctype
<!DO... -
logger (109.0)
-
ログを記録するためのライブラリです。
ログを記録するためのライブラリです。
=== 説明
6段階のログレベルに分けてログを記録します。
: UNKNOWN
常に記録されるべき不明なエラー
: FATAL
プログラムをクラッシュさせるような制御不可能なエラー
: ERROR
制御可能なエラー
: WARN
警告
: INFO
一般的な情報
: DEBUG
低レベルの情報
全てのメッセージは必ずログレベルを持ちます。また Logger オブジェクトも同じように
ログレベルを持ちます。メッセージのログレベルが Logger オブジェクトのログレベルよりも
低い場合メッセージは記録されません。
普段は I... -
Numeric (91.0)
-
数値を表す抽象クラスです。Integer や Float などの数値クラス は Numeric のサブクラスとして実装されています。
数値を表す抽象クラスです。Integer や Float などの数値クラス
は Numeric のサブクラスとして実装されています。
演算や比較を行うメソッド(+, -, *, /, <=>)は Numeric のサブクラスで定義されま
す。Numeric で定義されているメソッドは、サブクラスで提供されているメソッド
(+, -, *, /, %) を利用して定義されるものがほとんどです。
つまり Numeric で定義されているメソッドは、Numeric のサブクラスとして新たに数値クラスを定義した時に、
演算メソッド(+, -, *, /, %, <=>, coerce)だけを定義すれ... -
Array
# none? -> bool (73.0) -
ブロックを指定しない場合は、 配列のすべての 要素が偽であれば真を返します。そうでなければ偽を返します。
ブロックを指定しない場合は、 配列のすべての
要素が偽であれば真を返します。そうでなければ偽を返します。
ブロックを指定した場合は、配列のすべての要素を
ブロックで評価した結果が、すべて偽であれば真を返します。
そうでなければ偽を返します。
要素の数が 0 である配列に対しては true を返します。
@param pattern ブロックの代わりに各要素に対して pattern === item を評価します。
//emlist[例][ruby]{
%w{ant bear cat}.none? {|word| word.length == 5} # => true
%w{ant ... -
Array
# none? {|obj| . . . } -> bool (73.0) -
ブロックを指定しない場合は、 配列のすべての 要素が偽であれば真を返します。そうでなければ偽を返します。
ブロックを指定しない場合は、 配列のすべての
要素が偽であれば真を返します。そうでなければ偽を返します。
ブロックを指定した場合は、配列のすべての要素を
ブロックで評価した結果が、すべて偽であれば真を返します。
そうでなければ偽を返します。
要素の数が 0 である配列に対しては true を返します。
@param pattern ブロックの代わりに各要素に対して pattern === item を評価します。
//emlist[例][ruby]{
%w{ant bear cat}.none? {|word| word.length == 5} # => true
%w{ant ... -
Array
# none?(pattern) -> bool (73.0) -
ブロックを指定しない場合は、 配列のすべての 要素が偽であれば真を返します。そうでなければ偽を返します。
ブロックを指定しない場合は、 配列のすべての
要素が偽であれば真を返します。そうでなければ偽を返します。
ブロックを指定した場合は、配列のすべての要素を
ブロックで評価した結果が、すべて偽であれば真を返します。
そうでなければ偽を返します。
要素の数が 0 である配列に対しては true を返します。
@param pattern ブロックの代わりに各要素に対して pattern === item を評価します。
//emlist[例][ruby]{
%w{ant bear cat}.none? {|word| word.length == 5} # => true
%w{ant ... -
Array
# one? -> bool (73.0) -
ブロックを指定しない場合は、 配列の要素のうち ちょうど一つだけが真であれば、真を返します。 そうでなければ偽を返します。
ブロックを指定しない場合は、 配列の要素のうち
ちょうど一つだけが真であれば、真を返します。
そうでなければ偽を返します。
ブロックを指定した場合は、配列の要素を
ブロックで評価した結果、一つの要素だけが真であれば真を返します。
そうでなければ偽を返します。
@param pattern ブロックの代わりに各要素に対して pattern === item を評価します。
//emlist[例][ruby]{
%w{ant bear cat}.one? {|word| word.length == 4} # => true
%w{ant bear cat}.one? {|word| ... -
Array
# one? {|obj| . . . } -> bool (73.0) -
ブロックを指定しない場合は、 配列の要素のうち ちょうど一つだけが真であれば、真を返します。 そうでなければ偽を返します。
ブロックを指定しない場合は、 配列の要素のうち
ちょうど一つだけが真であれば、真を返します。
そうでなければ偽を返します。
ブロックを指定した場合は、配列の要素を
ブロックで評価した結果、一つの要素だけが真であれば真を返します。
そうでなければ偽を返します。
@param pattern ブロックの代わりに各要素に対して pattern === item を評価します。
//emlist[例][ruby]{
%w{ant bear cat}.one? {|word| word.length == 4} # => true
%w{ant bear cat}.one? {|word| ... -
Array
# one?(pattern) -> bool (73.0) -
ブロックを指定しない場合は、 配列の要素のうち ちょうど一つだけが真であれば、真を返します。 そうでなければ偽を返します。
ブロックを指定しない場合は、 配列の要素のうち
ちょうど一つだけが真であれば、真を返します。
そうでなければ偽を返します。
ブロックを指定した場合は、配列の要素を
ブロックで評価した結果、一つの要素だけが真であれば真を返します。
そうでなければ偽を返します。
@param pattern ブロックの代わりに各要素に対して pattern === item を評価します。
//emlist[例][ruby]{
%w{ant bear cat}.one? {|word| word.length == 4} # => true
%w{ant bear cat}.one? {|word| ... -
Ripper
:: Filter (73.0) -
イベントドリブンスタイルで Ruby プログラムを加工するためのクラスです。
イベントドリブンスタイルで Ruby プログラムを加工するためのクラスです。
このクラスを継承して、必要なイベントに対応するメソッドを定義して使用し
ます。
=== 使用例
//emlist[][ruby]{
require 'ripper'
require 'cgi'
class Ruby2HTML < Ripper::Filter
def on_default(event, tok, f)
f << CGI.escapeHTML(tok)
end
def on_comment(tok, f)
f << %Q[<span class="comment">... -
演算子式 (73.0)
-
演算子式 * assign * selfassign * multiassign * range * range_cond * and * or * not * cond
...る舞います。
フリップフロップ (flip-flop) とも呼ばれます。
この振る舞いは 2.6.0 で deprecated になりましたが、元に戻りました。
そのため、2.6.0 から 2.6.3 では使うと「warning: flip-flop is deprecated」という警告がでます。
「..... -
Process
:: Status (55.0) -
プロセスの終了ステータスを表すクラスです。 メソッド Process.#wait2 などの返り値として使われます。
プロセスの終了ステータスを表すクラスです。
メソッド Process.#wait2 などの返り値として使われます。
=== 使用例
wait を使用した例
fork { exit }
Process.wait
case
when $?.signaled?
p "child #{$?.pid} was killed by signal #{$?.termsig}"
if $?.coredump? # システムがこのステータスをサポートしてなければ常にfalse
p "child #{$?.pid} dumped core."
end
... -
Psych
:: Handler # start _ document(version , tag _ directives , implicit) -> () (55.0) -
YAML ドキュメントの始まりで呼び出されます。
YAML ドキュメントの始まりで呼び出されます。
version には YAML ドキュメントに宣言されているバージョンが
[major, minor] という配列で渡されます。宣言がない場合は空の配列が渡されます。
tag_directives には tag directive の配列が渡されます。
それぞれの tag は [prefix, suffix] という配列で表現されます。
implicit にはドキュメントが implicit に始まっているかどうかが
真偽値で渡されます。
必要に応じてこのメソッドを override してください。
@param version ... -
Regexp
# =~(string) -> Integer | nil (55.0) -
文字列 string との正規表現マッチを行います。マッチした場合、 マッチした位置のインデックスを返します(先頭は0)。マッチしなかった 場合、あるいは string が nil の場合には nil を返 します。
文字列 string との正規表現マッチを行います。マッチした場合、
マッチした位置のインデックスを返します(先頭は0)。マッチしなかった
場合、あるいは string が nil の場合には nil を返
します。
//emlist[例][ruby]{
p /foo/ =~ "foo" # => 0
p /foo/ =~ "afoo" # => 1
p /foo/ =~ "bar" # => nil
//}
組み込み変数 $~ もしくは Regexp.last_match にマッチに関する情報 MatchData が設定されます。
文字列のかわりにSymbolをマッチさせることが... -
Symbol (55.0)
-
シンボルを表すクラス。シンボルは任意の文字列と一対一に対応するオブジェクトです。
シンボルを表すクラス。シンボルは任意の文字列と一対一に対応するオブジェクトです。
文字列の代わりに用いることもできますが、必ずしも文字列と同じ振る舞いをするわけではありません。
同じ内容のシンボルはかならず同一のオブジェクトです。
シンボルオブジェクトは以下のようなリテラルで得られます。
:symbol
:'symbol'
%s!symbol! # %記法
生成されたシンボルの一覧は Symbol.all_symbols で得られます。
一番目のリテラルでシンボルを表す場合、`:' の後に
は識別子、メソッド名(`!',`?',`=' などの接尾辞を含む)、変数名
(`$'... -
Timeout
. # timeout(sec , exception _ class = nil) {|i| . . . } -> object (55.0) -
ブロックを sec 秒の期限付きで実行します。 ブロックの実行時間が制限を過ぎたときは例外 Timeout::Error が発生します。
ブロックを sec 秒の期限付きで実行します。
ブロックの実行時間が制限を過ぎたときは例外
Timeout::Error が発生します。
exception_class を指定した場合には Timeout::Error の代わりに
その例外が発生します。
ブロックパラメータ i は sec がはいります。
また sec が 0 もしくは nil のときは制限時間なしで
ブロックを実行します。
@param sec タイムアウトする時間を秒数で指定します.
@param exception_class タイムアウトした時、発生させる例外を指定します.
@param message エラー... -
Timeout
. # timeout(sec , exception _ class , message) {|i| . . . } -> object (55.0) -
ブロックを sec 秒の期限付きで実行します。 ブロックの実行時間が制限を過ぎたときは例外 Timeout::Error が発生します。
ブロックを sec 秒の期限付きで実行します。
ブロックの実行時間が制限を過ぎたときは例外
Timeout::Error が発生します。
exception_class を指定した場合には Timeout::Error の代わりに
その例外が発生します。
ブロックパラメータ i は sec がはいります。
また sec が 0 もしくは nil のときは制限時間なしで
ブロックを実行します。
@param sec タイムアウトする時間を秒数で指定します.
@param exception_class タイムアウトした時、発生させる例外を指定します.
@param message エラー... -
drb
/ extservm (55.0) -
DRb::ExtServManager を定義しているライブラリ。
DRb::ExtServManager を定義しているライブラリ。
DRb::ExtServManager は drb で実現されたサービスブローカーです。
個々のサービスは drb/extserv で定義されている
DRb::ExtServ を用いて実装します。
DRb::ExtServManager
はクライアントの要求に応じて個々のサービスを
サブプロセスとして起動し、各サービスを表す DRb::ExtServ オブジェクト
をリモートオブジェクトとしてクライアントに渡します。
このライブラリは簡易的なもので、あまりメンテナンスもされていないので、
本格的な用途にはこのライブラリを参... -
profile (55.0)
-
Ruby プログラムのためのプロファイラです。 プロファイラとは効率改善のための調査に用いられるツールのことです。 profile ライブラリは各メソッドの実行時間に関する統計を出力します。
Ruby プログラムのためのプロファイラです。
プロファイラとは効率改善のための調査に用いられるツールのことです。
profile ライブラリは各メソッドの実行時間に関する統計を出力します。
profile はそれ自身がオーバーヘッドになる
ためメソッド呼び出しあたりの処理時間がかなり遅くなります。
=== 使い方
以下のように、ruby に -r profile オプションを付けて実行します。
$ ruby -r profile foo.rb
foo.rb の実行が終わると標準エラー出力にプロファイルが出力されます。
プロファイルは各メソッドの実行時間に関する統計からなります... -
rexml
/ parsers / streamparser (55.0) -
ストリーム式の XML パーサ。
ストリーム式の XML パーサ。
rexml の XML パーサの中では高速ですが、機能は限定的です。
もう少し高機能なストリーム式パーサが必要な場合は
REXML::Parsers::SAX2Parser を用いてください。
パーサからはコールバックによってパースした情報を受け取ります。
REXML::StreamListener を include し、
必要なメソッドをオーバーライドしたクラスのオブジェクトを
コールバックオブジェクトとして REXML::Parsers::StreamParser.new
に渡します。
REXML::Parsers::StreamParser#pa... -
tracer (55.0)
-
実行トレース出力をとる機能を提供します。
実行トレース出力をとる機能を提供します。
使い方は大きく分けて2通り。
ひとつは以下のようにコマンドラインから Kernel.#require する方法です。
hoge.rb の実行をすべてトレース出力します。
ruby -rtracer hoge.rb
もうひとつはソースからrequireする方法です。
require 'tracer'
とした後
Tracer.on
によりトレース出力を有効にします。
Tracer.off
によりトレース出力を無効にします。
また、ブロック付きで Tracer.on を呼び出すと、そのブロック内のみ
トレースを出力します... -
ACL (37.0)
-
drb で用いる ACL(Access Control List)クラス。
drb で用いる ACL(Access Control List)クラス。
Access control list は "allow" と "deny" の2つからなります。
"all" や "*" という文字列は任意のアドレスにマッチします。
IPAddr が取り扱える任意のアドレス/アドレスマスクを
使うことができます。
ACLのエントリーは、以下の例に示すように、
"allow_or_deny", "addr1",
"allow_or_deny", "addr2",
:
という文字列配列で表現されます。
@see DRb.#install_acl, DRb.#st... -
Array
# all? -> bool (37.0) -
すべての要素が真である場合に true を返します。 偽である要素があれば、ただちに false を返します。
すべての要素が真である場合に true を返します。
偽である要素があれば、ただちに false を返します。
ブロックを伴う場合は、各要素に対してブロックを評価し、すべての結果
が真である場合に true を返します。ブロックが偽を返した時点で、
ただちに false を返します。
要素の数が 0 である配列に対しては true を返します。
@param pattern ブロックの代わりに各要素に対して pattern === item を評価します。
//emlist[例][ruby]{
# すべて正の数か?
p [5, 6, 7].all? {|v| v > 0 } #... -
Array
# all? {|item| . . . } -> bool (37.0) -
すべての要素が真である場合に true を返します。 偽である要素があれば、ただちに false を返します。
すべての要素が真である場合に true を返します。
偽である要素があれば、ただちに false を返します。
ブロックを伴う場合は、各要素に対してブロックを評価し、すべての結果
が真である場合に true を返します。ブロックが偽を返した時点で、
ただちに false を返します。
要素の数が 0 である配列に対しては true を返します。
@param pattern ブロックの代わりに各要素に対して pattern === item を評価します。
//emlist[例][ruby]{
# すべて正の数か?
p [5, 6, 7].all? {|v| v > 0 } #... -
Array
# all?(pattern) -> bool (37.0) -
すべての要素が真である場合に true を返します。 偽である要素があれば、ただちに false を返します。
すべての要素が真である場合に true を返します。
偽である要素があれば、ただちに false を返します。
ブロックを伴う場合は、各要素に対してブロックを評価し、すべての結果
が真である場合に true を返します。ブロックが偽を返した時点で、
ただちに false を返します。
要素の数が 0 である配列に対しては true を返します。
@param pattern ブロックの代わりに各要素に対して pattern === item を評価します。
//emlist[例][ruby]{
# すべて正の数か?
p [5, 6, 7].all? {|v| v > 0 } #... -
Array
# any? -> bool (37.0) -
すべての要素が偽である場合に false を返します。 真である要素があれば、ただちに true を返します。
すべての要素が偽である場合に false を返します。
真である要素があれば、ただちに true を返します。
ブロックを伴う場合は、各要素に対してブロックを評価し、すべての結果
が偽である場合に false を返します。ブロックが真を返した時点
で、ただちに true を返します。
要素の数が 0 である配列に対しては false を返します。
@param pattern ブロックの代わりに各要素に対して pattern === item を評価します。
//emlist[例][ruby]{
p [1, 2, 3].any? {|v| v > 3 } # => false
p... -
Array
# any? {|item| . . . } -> bool (37.0) -
すべての要素が偽である場合に false を返します。 真である要素があれば、ただちに true を返します。
すべての要素が偽である場合に false を返します。
真である要素があれば、ただちに true を返します。
ブロックを伴う場合は、各要素に対してブロックを評価し、すべての結果
が偽である場合に false を返します。ブロックが真を返した時点
で、ただちに true を返します。
要素の数が 0 である配列に対しては false を返します。
@param pattern ブロックの代わりに各要素に対して pattern === item を評価します。
//emlist[例][ruby]{
p [1, 2, 3].any? {|v| v > 3 } # => false
p... -
Array
# any?(pattern) -> bool (37.0) -
すべての要素が偽である場合に false を返します。 真である要素があれば、ただちに true を返します。
すべての要素が偽である場合に false を返します。
真である要素があれば、ただちに true を返します。
ブロックを伴う場合は、各要素に対してブロックを評価し、すべての結果
が偽である場合に false を返します。ブロックが真を返した時点
で、ただちに true を返します。
要素の数が 0 である配列に対しては false を返します。
@param pattern ブロックの代わりに各要素に対して pattern === item を評価します。
//emlist[例][ruby]{
p [1, 2, 3].any? {|v| v > 3 } # => false
p... -
find (37.0)
-
ディレクトリ配下のファイルを探索するためのモジュールです。
ディレクトリ配下のファイルを探索するためのモジュールです。
=== 使い方
require "find"
Find.find('/foo','/bar') {|f| ...}
または
require "find"
include Find
find('/foo','/bar') {|f| ...}
以下は、ruby のアーカイブに含まれるサンプルスクリプト
(https://github.com/ruby/ruby/blob/master/sample/trojan.rb) をこのモジュールで書き換えたものです。
#! /usr/bin/env ...