ライブラリ
- ビルトイン (340)
- csv (18)
- digest (2)
- erb (2)
- fiber (1)
-
fiddle
/ import (3) -
irb
/ cmd / help (1) -
irb
/ cmd / load (3) - json (4)
-
json
/ add / exception (1) - matrix (2)
-
net
/ http (24) - openssl (1)
- optparse (24)
- pathname (4)
- pp (2)
- prime (6)
- rake (51)
-
rake
/ packagetask (15) -
rexml
/ document (2) -
rexml
/ streamlistener (1) -
rubygems
/ specification (3) - set (2)
- strscan (7)
- tsort (8)
- win32ole (3)
- zlib (2)
クラス
-
ARGF
. class (3) - Array (15)
- BasicObject (12)
- Binding (3)
- CSV (15)
-
CSV
:: FieldInfo (3) - Class (2)
-
Digest
:: Base (2) - Dir (3)
- ERB (2)
-
Encoding
:: Converter (4) -
Encoding
:: InvalidByteSequenceError (2) -
Encoding
:: UndefinedConversionError (1) - Enumerator (10)
-
Enumerator
:: Lazy (4) -
Enumerator
:: Yielder (2) - Exception (11)
- Fiber (2)
- File (3)
-
File
:: Stat (6) -
Gem
:: Specification (3) - Hash (6)
- IO (16)
-
IRB
:: ExtendCommand :: Help (1) -
IRB
:: ExtendCommand :: Load (1) -
IRB
:: ExtendCommand :: Require (1) -
IRB
:: ExtendCommand :: Source (1) - Integer (2)
-
JSON
:: Parser (2) -
JSON
:: State (1) - MatchData (8)
- Matrix (2)
- Method (17)
- Module (69)
-
Net
:: HTTP (15) -
Net
:: HTTPGenericRequest (2) -
Net
:: HTTPResponse (3) - Numeric (7)
- Object (40)
- OptionParser (24)
- Pathname (4)
- Prime (2)
-
Prime
:: PseudoPrimeGenerator (4) -
REXML
:: Attributes (2) -
Rake
:: Application (7) -
Rake
:: FileList (17) -
Rake
:: FileTask (2) -
Rake
:: InvocationChain (3) -
Rake
:: NameSpace (2) -
Rake
:: PackageTask (15) -
Rake
:: TaskArguments (5) - Random (3)
- Range (9)
- Regexp (5)
-
RubyVM
:: InstructionSequence (5) - Set (2)
- SignalException (2)
- String (15)
- StringScanner (7)
- Thread (7)
-
Thread
:: Backtrace :: Location (4) -
Thread
:: ConditionVariable (2) -
Thread
:: Mutex (3) -
Thread
:: Queue (3) -
Thread
:: SizedQueue (3) - TracePoint (14)
- UnboundMethod (3)
- UncaughtThrowError (3)
- WIN32OLE (1)
-
WIN32OLE
_ EVENT (1) -
WIN32OLE
_ TYPE (1) -
Zlib
:: GzipWriter (2)
モジュール
- Enumerable (16)
-
Fiddle
:: Importer (3) -
JSON
:: Generator :: GeneratorMethods :: Object (1) -
Net
:: HTTPExceptions (1) -
Net
:: HTTPHeader (3) -
REXML
:: StreamListener (1) -
Rake
:: Cloneable (2) -
Rake
:: TaskManager (13) - TSort (8)
キーワード
- ! (1)
- != (1)
- % (1)
- < (1)
- << (1)
- <= (1)
- <=> (1)
- == (5)
- === (3)
- =~ (1)
- > (1)
- >= (1)
- [] (11)
- []= (2)
-
_ _ send _ _ (2) -
_ dump (1) -
absolute
_ path (2) - accept (1)
-
add
_ dependency (1) -
add
_ development _ dependency (1) -
add
_ runtime _ dependency (1) -
add
_ trace _ func (1) -
alias
_ method (1) - allocate (1)
- ancestors (1)
- append (1)
-
append
_ features (1) - arity (2)
- ascend (2)
- at (1)
- attr (3)
-
attr
_ accessor (1) -
attr
_ reader (1) -
attr
_ writer (1) - autoclose? (1)
- autoload (1)
- backtrace (2)
-
backtrace
_ locations (1) -
base
_ label (2) - begin (2)
- bind (2)
- binding (1)
- blockdev? (1)
-
body
_ stream (1) -
body
_ stream= (1) - broadcast (1)
- call (2)
-
callee
_ id (1) - cause (1)
- chardev? (1)
-
check
_ circular? (1) - chunk (1)
-
class
_ eval (2) -
class
_ exec (1) -
class
_ variable _ get (1) -
class
_ variable _ set (1) -
class
_ variables (1) - clear (1)
-
clear
_ exclude (1) - clone (3)
- close (1)
-
close
_ write (1) - coerce (1)
-
const
_ defined? (1) -
const
_ get (1) -
const
_ missing (1) -
const
_ set (1) -
const
_ source _ location (1) - constants (1)
- convert (3)
-
create
_ rule (1) - crypt (1)
-
current
_ scope (1) - curry (2)
-
def
_ class (1) -
def
_ module (1) -
default
_ event _ sources (1) -
default
_ proc= (1) -
define
_ method (2) -
define
_ singleton _ method (2) -
define
_ task (1) -
defined
_ class (1) - deq (2)
- descend (2)
- disable (2)
- display (1)
- div (1)
- divide (2)
- dup (2)
- each (9)
-
each
_ attribute (1) -
each
_ byte (4) -
each
_ codepoint (2) -
each
_ entry (2) -
each
_ index (1) -
each
_ line (2) -
each
_ strongly _ connected _ component (2) -
each
_ strongly _ connected _ component _ from (2) -
each
_ with _ index (6) - egrep (1)
- enable (2)
-
end
_ with? (1) - entitydecl (1)
-
enum
_ for (4) - eql? (1)
-
error
_ bytes (1) -
error
_ char (1) - eval (1)
- event (1)
- exception (2)
-
excluded
_ from _ list? (1) - execute (4)
- existing (1)
- existing! (1)
- ext (1)
- extend (1)
-
extend
_ object (1) - extended (1)
- fcntl (1)
- fdatasync (1)
- feed (1)
- fetch (6)
-
field
_ size _ limit (1) - finish (1)
- first (2)
-
first
_ lineno (1) -
force
_ quotes? (1) - freeze (1)
- get (2)
- get2 (2)
- gets (1)
- gsub! (1)
- handler= (1)
- hash (1)
- header (1)
-
header
_ convert (3) - help (1)
- hexdigest (1)
- import (1)
-
in
_ namespace (1) -
incomplete
_ input? (1) - index (1)
- inherited (1)
- initialize (1)
-
initialize
_ copy (1) -
inplace
_ mode= (1) - inspect (6)
-
instance
_ eval (2) -
instance
_ exec (1) -
instance
_ method (1) -
instance
_ methods (1) -
instance
_ of? (1) -
instance
_ variable _ defined? (1) -
instance
_ variable _ get (1) - intern (1)
-
internal
_ encoding (1) - invert (1)
-
is
_ a? (2) -
kind
_ of? (2) - label (1)
- last (2)
-
last
_ comment (1) -
last
_ description (1) -
last
_ description= (1) - lazy (1)
- line (1)
- lineno (1)
- load (1)
-
local
_ host= (1) -
local
_ port= (1) -
local
_ variable _ get (1) -
local
_ variable _ set (1) - lookup (1)
- lstat (1)
-
marshal
_ dump (1) - match (2)
- match? (1)
-
matched
_ size (1) - max (2)
-
max
_ by (4) - member? (1)
- merge (2)
-
method
_ added (1) -
method
_ defined? (1) -
method
_ id (1) -
method
_ missing (1) -
method
_ removed (1) -
method
_ undefined (1) - methods (1)
- min (2)
-
module
_ eval (2) -
module
_ exec (1) -
module
_ function (3) - name (4)
- name= (1)
- names (1)
-
need
_ tar (1) -
need
_ tar= (1) -
need
_ tar _ bz2 (1) -
need
_ tar _ bz2= (1) -
need
_ tar _ gz (1) -
need
_ tar _ gz= (1) -
need
_ zip (1) -
need
_ zip= (1) - needed? (1)
-
new
_ scope (1) - next (1)
-
next
_ values (1) - offset (2)
-
ole
_ query _ interface (1) -
on
_ head (1) -
on
_ tail (1) -
original
_ dir (1) -
original
_ name (2) - owned? (1)
- owner (1)
- pack (2)
-
package
_ dir (1) -
package
_ dir= (1) -
package
_ dir _ path (1) -
package
_ files (1) -
package
_ files= (1) - parse (3)
- parse! (1)
- path (3)
- pathmap (1)
- peek (1)
-
peek
_ values (1) - peep (1)
- pid (1)
- pointer= (1)
- pop (2)
- pos (1)
- pos= (1)
- post (2)
- post2 (2)
- prepend (2)
-
prepend
_ features (1) -
pretty
_ print (1) -
pretty
_ print _ cycle (1) -
primitive
_ convert (4) - priority (1)
- priority= (1)
- private (4)
-
private
_ class _ method (2) -
private
_ constant (1) -
private
_ instance _ methods (1) -
private
_ method _ defined? (1) -
program
_ name (1) -
program
_ name= (1) -
protected
_ method _ defined? (1) - public (1)
-
public
_ class _ method (2) -
public
_ constant (1) -
public
_ method _ defined? (1) -
public
_ send (2) - puts (1)
-
raised
_ exception (1) - rakefile (1)
- rand (3)
- read (2)
-
read
_ body (2) - readbyte (2)
- readchar (1)
- readline (1)
- readlines (1)
- receiver (1)
- reject (1)
- release (1)
-
remove
_ class _ variable (1) -
remove
_ const (1) -
remove
_ instance _ variable (1) -
remove
_ method (1) - replace (1)
-
request
_ get (2) -
request
_ post (2) - resolve (1)
-
respond
_ to? (1) -
respond
_ to _ missing? (1) - response (1)
- resume (1)
-
return
_ value (1) -
ruby2
_ keywords (1) - send (2)
-
send
_ request (1) - separator (1)
-
set
_ backtrace (1) -
set
_ trace _ func (1) - setgid? (1)
- setuid? (1)
- shift (3)
- signal (1)
- signm (1)
- signo (1)
-
singleton
_ class? (1) -
singleton
_ method (1) -
singleton
_ method _ added (1) -
singleton
_ method _ removed (1) -
singleton
_ method _ undefined (1) -
singleton
_ methods (1) - size (1)
- sleep (1)
- socket? (1)
-
sort
_ by (2) - source (1)
-
source
_ location (1) -
start
_ with? (1) - stat (1)
- step (6)
- sticky? (1)
-
strongly
_ connected _ components (1) - struct (1)
- sub! (1)
- sum (1)
- summarize (2)
-
summary
_ indent (1) -
summary
_ indent= (1) -
summary
_ width (1) -
summary
_ width= (1) -
super
_ method (1) - synchronize (1)
-
synthesize
_ file _ task (1) - syswrite (1)
- tag (1)
- tasks (2)
- tell (1)
-
thread
_ variable _ set (1) -
to
_ a (3) -
to
_ ary (3) -
to
_ bn (1) -
to
_ enum (4) -
to
_ h (1) -
to
_ hash (2) -
to
_ int (1) -
to
_ json (2) -
to
_ path (1) -
to
_ proc (2) -
to
_ regexp (1) -
to
_ s (10) -
to
_ str (1) -
top
_ level (1) -
top
_ level _ tasks (1) - transfer (1)
- truncate (1)
- tsort (1)
-
tsort
_ each (2) -
tty
_ output= (1) - unbind (1)
-
undef
_ method (1) - union (1)
- unpack (1)
- unscan (1)
- upto (1)
- value (2)
- ver (1)
-
with
_ defaults (1) -
with
_ index (2) -
with
_ object (2) - write (1)
-
write
_ headers? (1) - yield (1)
- ~ (1)
検索結果
先頭5件
-
MatchData
# end(n) -> Integer | nil (63733.0) -
n 番目の部分文字列終端のオフセットを返します。
n 番目の部分文字列終端のオフセットを返します。
0 はマッチ全体を意味します。
n 番目の部分文字列がマッチしていなければ nil を返します。
@param n 部分文字列を指定する数値。
@raise IndexError 範囲外の n を指定した場合に発生します。
//emlist[例][ruby]{
/(foo)(bar)(BAZ)?/ =~ "foobarbaz"
p $~.end(0) # => 6
p $~.end(1) # => 3
p $~.end(2) # => 6
p $~.end(3) # => nil
p $~.end(4) # => ... -
Range
# end -> object (54631.0) -
終端の要素を返します。範囲オブジェクトが終端を含むかどうかは関係ありま せん。
終端の要素を返します。範囲オブジェクトが終端を含むかどうかは関係ありま
せん。
//emlist[例][ruby]{
(10..20).last # => 20
(10...20).last # => 20
//}
@see Range#begin -
Gem
:: Specification # add _ development _ dependency(gem , *requirements) -> [Gem :: Dependency] (36922.0) -
この gem の DEVELOPMENT 依存性を追加します。 この gem の開発時に必要となる gem を指定します。
この gem の DEVELOPMENT 依存性を追加します。
この gem の開発時に必要となる gem を指定します。
//emlist[][ruby]{
gem "rack", "~> 1.6", ">= 1.6.12"
//}
@param gem 依存する gem の名前か Gem::Dependency のインスタンスを指定します。
@param requirements バージョンの必要条件を 0 個以上指定します。デフォルトは ">= 0" です。
@see Gem::Specification#add_runtime_dependency, Gem::Depende... -
Gem
:: Specification # add _ runtime _ dependency(gem , *requirements) -> [Gem :: Dependency] (36922.0) -
この gem の RUNTIME 依存性を追加します。 実行時に必要となる gem を指定します。
この gem の RUNTIME 依存性を追加します。
実行時に必要となる gem を指定します。
//emlist[][ruby]{
# https://github.com/rurema/bitclust/blob/v1.2.3/bitclust-core.gemspec#L25
s.add_runtime_dependency "progressbar", ">= 1.9.0", "< 2.0"
//}
@param gem 依存する gem の名前か Gem::Dependency のインスタンスを指定します。
@param requirements バージョンの必要条件を 0... -
Object
# extend(*modules) -> self (36748.0) -
引数で指定したモジュールのインスタンスメソッドを self の特異 メソッドとして追加します。
引数で指定したモジュールのインスタンスメソッドを self の特異
メソッドとして追加します。
Module#include は、クラス(のインスタンス)に機能を追加します
が、extend は、ある特定のオブジェクトだけにモジュールの機能を追加
したいときに使用します。
引数に複数のモジュールを指定した場合、最後
の引数から逆順に extend を行います。
@param modules モジュールを任意個指定します(クラスは不可)。
@return self を返します。
//emlist[][ruby]{
module Foo
def a
'ok Foo'
en... -
Module
# prepend _ features(mod) -> self (36730.0) -
Module#prepend から呼び出されるメソッドで、 prepend の処理の実体です。このメソッド自体は mod で指定した モジュール/クラスの継承チェインの先頭に self を追加します。
Module#prepend から呼び出されるメソッドで、
prepend の処理の実体です。このメソッド自体は mod で指定した
モジュール/クラスの継承チェインの先頭に self を追加します。
このメソッドを上書きすることで、prepend の処理を変更したり
追加したりすることができます。
@param mod prepend を呼び出したモジュール
@return mod が返されます
//emlist[例][ruby]{
class Recorder
RECORDS = []
end
module X
def self.prepend_features(mod)
... -
Module
# protected _ method _ defined?(name , inherit=true) -> bool (36730.0) -
インスタンスメソッド name がモジュールに定義されており、 しかもその可視性が protected であるときに true を返します。 そうでなければ false を返します。
インスタンスメソッド name がモジュールに定義されており、
しかもその可視性が protected であるときに true を返します。
そうでなければ false を返します。
@param name Symbol か String を指定します。
@param inherit 真を指定するとスーパークラスや include したモジュールで
定義されたメソッドも対象になります。
@see Module#method_defined?, Module#public_method_defined?, Module#private_method_defined?
//e... -
String
# end _ with?(*strs) -> bool (36679.0) -
self の末尾が strs のいずれかであるとき true を返します。
self の末尾が strs のいずれかであるとき true を返します。
@param strs パターンを表す文字列 (のリスト)
//emlist[例][ruby]{
"string".end_with?("ing") # => true
"string".end_with?("str") # => false
"string".end_with?("str", "ing") # => true
//}
@see String#start_with? -
Module
# append _ features(module _ or _ class) -> self (36676.0) -
モジュール(あるいはクラス)に self の機能を追加します。
モジュール(あるいはクラス)に self の機能を追加します。
このメソッドは Module#include の実体であり、
include を Ruby で書くと以下のように定義できます。
//emlist[例][ruby]{
def include(*modules)
modules.reverse_each do |mod|
# append_features や included はプライベートメソッドなので
# 直接 mod.append_features(self) などとは書けない
mod.__send__(:append_features, s... -
Module
# extend _ object(obj) -> object (36676.0) -
Object#extend の実体です。オブジェクトにモジュールの機能を追加します。
Object#extend の実体です。オブジェクトにモジュールの機能を追加します。
Object#extend は、Ruby で書くと以下のように定義できます。
//emlist[例][ruby]{
def extend(*modules)
modules.reverse_each do |mod|
# extend_object や extended はプライベートメソッドなので
# 直接 mod.extend_object(self) などとは書けない
mod.__send__(:extend_object, self)
mod.__send__... -
Module
# extended(obj) -> () (36658.0) -
self が他のオブジェクト に Object#extend されたときに 呼ばれます。引数には extend を行ったオブジェクトが渡されます。
self が他のオブジェクト に Object#extend されたときに
呼ばれます。引数には extend を行ったオブジェクトが渡されます。
@param obj Object#extend を行ったオブジェクト
//emlist[例][ruby]{
module Foo
def self.extended(obj)
p "#{obj} extend #{self}"
end
end
Object.new.extend Foo
# => "#<Object:0x401cbc3c> extend Foo"
//}
@see Module#extend_objec... -
Net
:: HTTP # send _ request(name , path , data = nil , header = nil) -> Net :: HTTPResponse (36622.0) -
HTTP リクエストをサーバに送り、そのレスポンスを Net::HTTPResponse のインスタンスとして返します。
HTTP リクエストをサーバに送り、そのレスポンスを
Net::HTTPResponse のインスタンスとして返します。
@param name リクエストのメソッド名を文字列で与えます。
@param path リクエストのパスを文字列で与えます。
@param data リクエストのボディを文字列で与えます。
@param header リクエストのヘッダをハッシュで与えます。
//emlist[例][ruby]{
response = http.send_request('GET', '/index.html')
puts response.body
//}
@see Net::H... -
IRB
:: ExtendCommand :: Help # execute(*names) -> nil (36370.0) -
RI から Ruby のドキュメントを参照します。
RI から Ruby のドキュメントを参照します。
irb(main):001:0> help String#match
...
@param names 参照したいクラス名やメソッド名などを文字列で指定します。
names を指定しなかった場合は、RI を対話的なモードで起動します。メソッド
名などを入力する事でドキュメントの検索が行えます。入力のタブ補完をする
事ができます。また、空行を入力する事で irb のプロンプトに戻る事ができま
す。
irb(main):001:0> help
Enter the method name you want to look... -
JSON
:: Generator :: GeneratorMethods :: Object # to _ json(state _ or _ hash = nil) -> String (36358.0) -
自身を to_s で文字列にした結果を JSON 形式の文字列に変換して返します。
自身を to_s で文字列にした結果を JSON 形式の文字列に変換して返します。
このメソッドはあるオブジェクトに to_json メソッドが定義されていない場合に使用する
フォールバックのためのメソッドです。
@param state_or_hash 生成する JSON 形式の文字列をカスタマイズするため
に JSON::State のインスタンスか、
JSON::State.new の引数と同じ Hash を
指定します。
//emlist[例][ruby... -
IRB
:: ExtendCommand :: Load # execute(file _ name , priv = nil) -> nil (36352.0) -
ファイル path を Ruby スクリプトとみなし、現在の irb インタプリタ上で実 行します。
ファイル path を Ruby スクリプトとみなし、現在の irb インタプリタ上で実
行します。
Kernel.#load と異なり、path の内容を irb で一行ずつタイプしたかの
ように、irb 上で一行ずつ評価されます。
@param file_name ファイル名を文字列で指定します。
@param priv 真を指定した場合は実行は内部的に生成される無名モジュール上
で行われ、グローバルな名前空間を汚染しません。
@raise LoadError 読み込みに失敗した場合に発生します。 -
IRB
:: ExtendCommand :: Source # execute(file _ name) -> nil (36352.0) -
現在の irb インタプリタ上で、 Ruby スクリプト path を評価します。
現在の irb インタプリタ上で、 Ruby スクリプト path を評価します。
path の内容を irb で一行ずつタイプしたかのように、irb 上で一行ずつ評価
されます。$" は更新されず、何度でも実行し直す事ができます。
@param file_name ファイル名を文字列で指定します。 -
IRB
:: ExtendCommand :: Require # execute(file _ name) -> bool (36322.0) -
ファイル file_name を現在の irb インタプリタ上で実行します。
ファイル file_name を現在の irb インタプリタ上で実行します。
file_name に Ruby スクリプトを指定した場合は、Kernel.#require と異
なり、file_name の内容を irb で一行ずつタイプしたかのように、irb 上で一
行ずつ評価されます。require に成功した場合は true を、そうでない場合は
false を返します。
拡張ライブラリ(*.so,*.o,*.dll など)を指定した場合は単純に require され
ます。
@param file_name ファイル名を文字列で指定します。 -
Rake
:: TaskManager # define _ task(task _ class , *args) { . . . } -> Rake :: Task (27976.0) -
タスクを定義します。
タスクを定義します。
@param task_class タスククラスを指定します。
@param args タスクに渡すパラメータを指定します。
//emlist[][ruby]{
# Rakefile での記載例とする
task default: :test_rake_app
task :test_rake_app do
Rake.application.define_task(Rake::Task, :t) # => <Rake::Task t => []>
end
//} -
Rake
:: FileTask # timestamp -> Time | Rake :: LateTime (27940.0) -
ファイルタスクのタイムスタンプを返します。
ファイルタスクのタイムスタンプを返します。
//emlist[][ruby]{
# Rakefile での記載例とする
task default: "test.txt"
file "test.txt" do |task|
Rake.application.options.build_all = false
task.timestamp # => #<Rake::LateTime:0x2ba58f0>
end
//} -
Gem
:: Specification # add _ dependency(gem , *requirements) -> [Gem :: Dependency] (27922.0) -
この gem の RUNTIME 依存性を追加します。 実行時に必要となる gem を指定します。
この gem の RUNTIME 依存性を追加します。
実行時に必要となる gem を指定します。
//emlist[][ruby]{
# https://github.com/rurema/bitclust/blob/v1.2.3/bitclust-core.gemspec#L25
s.add_runtime_dependency "progressbar", ">= 1.9.0", "< 2.0"
//}
@param gem 依存する gem の名前か Gem::Dependency のインスタンスを指定します。
@param requirements バージョンの必要条件を 0... -
WIN32OLE
_ TYPE # default _ event _ sources -> [WIN32OLE _ TYPE] (27838.0) -
型が持つソースインターフェイスを取得します。
型が持つソースインターフェイスを取得します。
default_event_sourcesメソッドは、selfがCoClass(コンポーネントクラス)
の場合、そのクラスがサポートするデフォルトのソースインターフェイス(イ
ベントの通知元となるインターフェイス)を返します。
@return デフォルトのソースインターフェイスをWIN32OLE_TYPEの配列と
して返します。返すのは配列ですが、デフォルトのソースインターフェ
イスは最大でも1インターフェイスです。ソースインターフェイスを持
たない場合は空配列を返します。
tobj = ... -
Object
# send(name , *args) -> object (27730.0) -
オブジェクトのメソッド name を args を引数に して呼び出し、メソッドの実行結果を返します。
オブジェクトのメソッド name を args を引数に
して呼び出し、メソッドの実行結果を返します。
ブロック付きで呼ばれたときはブロックもそのまま引き渡します。
send が再定義された場合に備えて別名 __send__ も
用意されており、ライブラリではこちらを使うべきです。また
__send__ は再定義すべきではありません。
send, __send__ は、メソッドの呼び出し制限
にかかわらず任意のメソッドを呼び出せます。
d:spec/def#limit も参照してください。
public メソッドだけ呼び出せれば良い場合は
Object#public_send を使う... -
Object
# send(name , *args) { . . . . } -> object (27730.0) -
オブジェクトのメソッド name を args を引数に して呼び出し、メソッドの実行結果を返します。
オブジェクトのメソッド name を args を引数に
して呼び出し、メソッドの実行結果を返します。
ブロック付きで呼ばれたときはブロックもそのまま引き渡します。
send が再定義された場合に備えて別名 __send__ も
用意されており、ライブラリではこちらを使うべきです。また
__send__ は再定義すべきではありません。
send, __send__ は、メソッドの呼び出し制限
にかかわらず任意のメソッドを呼び出せます。
d:spec/def#limit も参照してください。
public メソッドだけ呼び出せれば良い場合は
Object#public_send を使う... -
Method
# super _ method -> Method | nil (27694.0) -
self 内で super を実行した際に実行されるメソッドを Method オブジェ クトにして返します。
self 内で super を実行した際に実行されるメソッドを Method オブジェ
クトにして返します。
@see UnboundMethod#super_method
//emlist[例][ruby]{
class Super
def foo
"superclass method"
end
end
class Sub < Super
def foo
"subclass method"
end
end
m = Sub.new.method(:foo) # => #<Method: Sub#foo>
m.call # => "subclass me... -
BasicObject
# _ _ send _ _ (name , *args) -> object (27676.0) -
オブジェクトのメソッド name を args を引数にして呼び出し、メソッドの結果を返します。
オブジェクトのメソッド name を args を引数にして呼び出し、メソッドの結果を返します。
ブロック付きで呼ばれたときはブロックもそのまま引き渡します。
@param name 呼び出すメソッドの名前。 Symbol または文字列で指定します。
@param args メソッドに渡す任意個の引数
//emlist[例][ruby]{
class Mail
def delete(*args)
"(Mail#delete) - delete " + args.join(',')
end
def send(name, *args)
"(Mail#send) -... -
BasicObject
# _ _ send _ _ (name , *args) { . . . . } -> object (27676.0) -
オブジェクトのメソッド name を args を引数にして呼び出し、メソッドの結果を返します。
オブジェクトのメソッド name を args を引数にして呼び出し、メソッドの結果を返します。
ブロック付きで呼ばれたときはブロックもそのまま引き渡します。
@param name 呼び出すメソッドの名前。 Symbol または文字列で指定します。
@param args メソッドに渡す任意個の引数
//emlist[例][ruby]{
class Mail
def delete(*args)
"(Mail#delete) - delete " + args.join(',')
end
def send(name, *args)
"(Mail#send) -... -
Exception
# backtrace _ locations -> [Thread :: Backtrace :: Location] (27676.0) -
バックトレース情報を返します。Exception#backtraceに似ていますが、 Thread::Backtrace::Location の配列を返す点が異なります。
バックトレース情報を返します。Exception#backtraceに似ていますが、
Thread::Backtrace::Location の配列を返す点が異なります。
現状では Exception#set_backtrace によって戻り値が変化する事はあり
ません。
//emlist[例: test.rb][ruby]{
require "date"
def check_long_month(month)
return if Date.new(2000, month, -1).day == 31
raise "#{month} is not long month"
end
... -
Exception
# exception(error _ message) -> Exception (27640.0) -
引数を指定しない場合は self を返します。引数を指定した場合 自身のコピー を生成し Exception#message 属性を error_message にして返します。
引数を指定しない場合は self を返します。引数を指定した場合 自身のコピー
を生成し Exception#message 属性を error_message にして返します。
Kernel.#raise は、実質的に、例外オブジェクトの exception
メソッドの呼び出しです。
@param error_message エラーメッセージを表す文字列を指定します。
//emlist[例][ruby]{
begin
# ... # 何か処理
rescue => e
raise e.exception("an error occurs during hogeho... -
Object
# public _ send(name , *args) -> object (27640.0) -
オブジェクトの public メソッド name を args を引数にして呼び出し、メソッ ドの実行結果を返します。
オブジェクトの public メソッド name を args を引数にして呼び出し、メソッ
ドの実行結果を返します。
ブロック付きで呼ばれたときはブロックもそのまま引き渡します。
//emlist[][ruby]{
1.public_send(:+, 2) # => 3
//}
@param name 文字列かSymbol で指定するメソッド名です。
@param args 呼び出すメソッドに渡す引数です。
@raise ArgumentError name を指定しなかった場合に発生します。
@raise NoMethodError protected メソッドや priv... -
Object
# public _ send(name , *args) { . . . . } -> object (27640.0) -
オブジェクトの public メソッド name を args を引数にして呼び出し、メソッ ドの実行結果を返します。
オブジェクトの public メソッド name を args を引数にして呼び出し、メソッ
ドの実行結果を返します。
ブロック付きで呼ばれたときはブロックもそのまま引き渡します。
//emlist[][ruby]{
1.public_send(:+, 2) # => 3
//}
@param name 文字列かSymbol で指定するメソッド名です。
@param args 呼び出すメソッドに渡す引数です。
@raise ArgumentError name を指定しなかった場合に発生します。
@raise NoMethodError protected メソッドや priv... -
REXML
:: Attributes # each _ attribute {|attribute| . . . } -> () (27640.0) -
各属性に対しブロックを呼び出します。
各属性に対しブロックを呼び出します。
個々の属性は REXML::Attribute オブジェクトで渡されます。
//emlist[][ruby]{
require 'rexml/document'
doc = REXML::Document.new(<<EOS)
<root xmlns:foo="http://example.org/foo"
xmlns:bar="http://example.org/bar">
<a foo:att='1' bar:att='2' att='<'/>
</root>
EOS
a = doc.get_elements("/root... -
Rake
:: InvocationChain # append(task _ name) -> Rake :: InvocationChain (27640.0) -
与えられたタスク名を追加して新しい Rake::InvocationChain を返します。
与えられたタスク名を追加して新しい Rake::InvocationChain を返します。
@param task_name 追加するタスク名を指定します。
@raise RuntimeError 循環したタスクの呼び出しを検出した場合に発生します。
//emlist[][ruby]{
# Rakefile での記載例とする
task default: :test_rake_app
task :test_rake_app do
invocation_chain= Rake::InvocationChain.new("task_a", Rake::InvocationChain:... -
String
# prepend(*arguments) -> String (27625.0) -
複数の文字列を先頭に破壊的に追加します。
複数の文字列を先頭に破壊的に追加します。
@param arguments 追加したい文字列を指定します。
//emlist[例][ruby]{
a = "!!!"
a.prepend # => "!!!"
a # => "!!!"
a = "!!!"
a.prepend "hello ", "world" # => "hello world!!!"
a # => "hello world!!!"
//} -
String
# prepend(other _ str) -> String (27625.0) -
文字列 other_str を先頭に破壊的に追加します。
文字列 other_str を先頭に破壊的に追加します。
@param other_str 追加したい文字列を指定します。
//emlist[例][ruby]{
a = "world"
a.prepend("hello ") # => "hello world"
a # => "hello world"
//} -
Pathname
# ascend -> Enumerator (27622.0) -
self のパス名から親方向に辿っていったときの各パス名を新しい Pathname オ ブジェクトとして生成し、ブロックへの引数として渡して実行します。 ブロックを省略した場合は Enumerator を返します。
self のパス名から親方向に辿っていったときの各パス名を新しい Pathname オ
ブジェクトとして生成し、ブロックへの引数として渡して実行します。
ブロックを省略した場合は Enumerator を返します。
//emlist[例][ruby]{
require 'pathname'
Pathname.new('/path/to/some/file.rb').ascend {|v| p v}
# => #<Pathname:/path/to/some/file.rb>
# #<Pathname:/path/to/some>
# #<Pathname:/path/to>
... -
Pathname
# ascend {|pathname| . . . } -> nil (27622.0) -
self のパス名から親方向に辿っていったときの各パス名を新しい Pathname オ ブジェクトとして生成し、ブロックへの引数として渡して実行します。 ブロックを省略した場合は Enumerator を返します。
self のパス名から親方向に辿っていったときの各パス名を新しい Pathname オ
ブジェクトとして生成し、ブロックへの引数として渡して実行します。
ブロックを省略した場合は Enumerator を返します。
//emlist[例][ruby]{
require 'pathname'
Pathname.new('/path/to/some/file.rb').ascend {|v| p v}
# => #<Pathname:/path/to/some/file.rb>
# #<Pathname:/path/to/some>
# #<Pathname:/path/to>
... -
Pathname
# descend -> Enumerator (27622.0) -
self のパス名の親から子供へと辿っていったときの各パス名を新しい Pathname オブジェクトとして生成し、ブロックへの引数として渡して実行しま す。 ブロックを省略した場合は Enumerator を返します。
self のパス名の親から子供へと辿っていったときの各パス名を新しい
Pathname オブジェクトとして生成し、ブロックへの引数として渡して実行しま
す。
ブロックを省略した場合は Enumerator を返します。
//emlist[例][ruby]{
require 'pathname'
Pathname.new('/path/to/some/file.rb').descend {|v| p v}
# => #<Pathname:/>
# #<Pathname:/path>
# #<Pathname:/path/to>
# #<Pathname:/path/to/s... -
Pathname
# descend {|pathname| . . . } -> nil (27622.0) -
self のパス名の親から子供へと辿っていったときの各パス名を新しい Pathname オブジェクトとして生成し、ブロックへの引数として渡して実行しま す。 ブロックを省略した場合は Enumerator を返します。
self のパス名の親から子供へと辿っていったときの各パス名を新しい
Pathname オブジェクトとして生成し、ブロックへの引数として渡して実行しま
す。
ブロックを省略した場合は Enumerator を返します。
//emlist[例][ruby]{
require 'pathname'
Pathname.new('/path/to/some/file.rb').descend {|v| p v}
# => #<Pathname:/>
# #<Pathname:/path>
# #<Pathname:/path/to>
# #<Pathname:/path/to/s... -
Thread
:: Backtrace :: Location # absolute _ path -> String (27376.0) -
self が表すフレームの絶対パスを返します。
self が表すフレームの絶対パスを返します。
//emlist[例][ruby]{
# foo.rb
class Foo
attr_accessor :locations
def initialize(skip)
@locations = caller_locations(skip)
end
end
Foo.new(0..2).locations.map do |call|
puts call.absolute_path
end
# => /path/to/foo.rb
# /path/to/foo.rb
# /path/to/foo.rb
//}
@see... -
Encoding
:: InvalidByteSequenceError # incomplete _ input? -> bool (27358.0) -
エラー発生時に入力文字列が不足している場合に真を返します。
エラー発生時に入力文字列が不足している場合に真を返します。
つまり、マルチバイト文字列の途中で文字列が終わっている場合に
真を返します。これは後続の入力を追加することでエラーが
解消する可能性があることを意味します。
//emlist[例][ruby]{
ec = Encoding::Converter.new("EUC-JP", "ISO-8859-1")
begin
ec.convert("abc\xA1z")
rescue Encoding::InvalidByteSequenceError
p $!
#=> #<Encoding::InvalidByteSequenc... -
Rake
:: TaskManager # tasks -> Array (27358.0) -
全てのタスクリストを返します。
全てのタスクリストを返します。
//emlist[][ruby]{
# Rakefile での記載例とする
require 'pp'
task default: :test_rake_app2
task :test_rake_app1 do |task|
end
task :test_rake_app2 do |task|
pp task.application.tasks
# => [<Rake::Task default => [test_rake_app2]>,
# <Rake::Task test_rake_app1 => []>,
# <Rake... -
TSort
# strongly _ connected _ components -> Array (27358.0) -
強連結成分の集まりを配列の配列として返します。 この配列は子から親に向かってソートされています。 各要素は強連結成分を表す配列です。
強連結成分の集まりを配列の配列として返します。
この配列は子から親に向かってソートされています。
各要素は強連結成分を表す配列です。
//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 = {1=>[2], 2=>[3, 4], 3=>[2], 4=>[]}
p non_sor... -
TSort
# tsort -> Array (27358.0) -
頂点をトポロジカルソートして得られる配列を返します。 この配列は子から親に向かってソートされています。 すなわち、最初の要素は子を持たず、最後の要素は親を持ちません。
頂点をトポロジカルソートして得られる配列を返します。
この配列は子から親に向かってソートされています。
すなわち、最初の要素は子を持たず、最後の要素は親を持ちません。
@raise TSort::Cyclic 閉路が存在するとき、発生します。
//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
... -
TSort
# tsort _ each -> Enumerator (27358.0) -
TSort#tsort メソッドのイテレータ版です。 obj.tsort_each は obj.tsort.each と似ていますが、 ブロックの評価中に obj が変更された場合は予期しない結果になる ことがあります。
TSort#tsort メソッドのイテレータ版です。
obj.tsort_each は obj.tsort.each と似ていますが、
ブロックの評価中に obj が変更された場合は予期しない結果になる
ことがあります。
tsort_each は nil を返します。
閉路が存在するとき、例外 TSort::Cyclic を起こします。
@raise TSort::Cyclic 閉路が存在するとき、発生します.
//emlist[使用例][ruby]{
require 'tsort'
class Hash
include TSort
alias tsort_each_node... -
TSort
# tsort _ each {|node| . . . } -> nil (27358.0) -
TSort#tsort メソッドのイテレータ版です。 obj.tsort_each は obj.tsort.each と似ていますが、 ブロックの評価中に obj が変更された場合は予期しない結果になる ことがあります。
TSort#tsort メソッドのイテレータ版です。
obj.tsort_each は obj.tsort.each と似ていますが、
ブロックの評価中に obj が変更された場合は予期しない結果になる
ことがあります。
tsort_each は nil を返します。
閉路が存在するとき、例外 TSort::Cyclic を起こします。
@raise TSort::Cyclic 閉路が存在するとき、発生します.
//emlist[使用例][ruby]{
require 'tsort'
class Hash
include TSort
alias tsort_each_node... -
Encoding
:: InvalidByteSequenceError # error _ bytes -> String (27340.0) -
エラー発生時に捨てられたバイト列を返します。
エラー発生時に捨てられたバイト列を返します。
//emlist[例][ruby]{
ec = Encoding::Converter.new("EUC-JP", "ISO-8859-1")
begin
ec.convert("abc\xA1\xFFdef")
rescue Encoding::InvalidByteSequenceError
p $!
#=> #<Encoding::InvalidByteSequenceError: "\xA1" followed by "\xFF" on EUC-JP>
puts $!.error_bytes.dump ... -
Exception
# exception -> self (27340.0) -
引数を指定しない場合は self を返します。引数を指定した場合 自身のコピー を生成し Exception#message 属性を error_message にして返します。
引数を指定しない場合は self を返します。引数を指定した場合 自身のコピー
を生成し Exception#message 属性を error_message にして返します。
Kernel.#raise は、実質的に、例外オブジェクトの exception
メソッドの呼び出しです。
@param error_message エラーメッセージを表す文字列を指定します。
//emlist[例][ruby]{
begin
# ... # 何か処理
rescue => e
raise e.exception("an error occurs during hogeho... -
Rake
:: Application # options -> OpenStruct (27340.0) -
コマンドラインで与えられたアプリケーションのオプションを返します。
コマンドラインで与えられたアプリケーションのオプションを返します。
//emlist[][ruby]{
# Rakefile での記載例とする
task default: :test_rake_app
task :test_rake_app do
Rake.application.options # => #<OpenStruct always_multitask=false, backtrace=false, build_all=false, dryrun=false, ignore_deprecate=false, ignore_system=false, job_stats=... -
Rake
:: PackageTask # need _ tar -> bool (27340.0) -
この値が真である場合は gzip した tar ファイル (tgz) を作成します。 デフォルトは偽です。
この値が真である場合は gzip した tar ファイル (tgz) を作成します。
デフォルトは偽です。
//emlist[][ruby]{
# Rakefile での記載例とする
require 'rake/packagetask'
Rake::PackageTask.new("sample", "1.0.0") do |package_task|
package_task.need_tar # => false
end
//} -
Rake
:: PackageTask # need _ tar=(flag) (27340.0) -
gzip した tar ファイル (tgz) を作成するかどうかを設定します。
gzip した tar ファイル (tgz) を作成するかどうかを設定します。
@param flag 真または偽を指定します。
//emlist[][ruby]{
# Rakefile での記載例とする
require 'rake/packagetask'
Rake::PackageTask.new("sample", "1.0.0") do |package_task|
package_task.need_tar # => false
package_task.need_tar = true
package_task.need_tar # => true
end
//}... -
Rake
:: PackageTask # need _ tar _ bz2 -> bool (27340.0) -
この値が真である場合は bzip2 した tar ファイル (tar.bz2) を作成します。 デフォルトは偽です。
この値が真である場合は bzip2 した tar ファイル (tar.bz2) を作成します。
デフォルトは偽です。
//emlist[][ruby]{
# Rakefile での記載例とする
require 'rake/packagetask'
Rake::PackageTask.new("sample", "1.0.0") do |package_task|
package_task.need_tar_bz2 # => false
end
//} -
Rake
:: PackageTask # need _ tar _ bz2=(flag) (27340.0) -
bzip2 した tar ファイル (tar.bz2) を作成するかどうかを設定します。
bzip2 した tar ファイル (tar.bz2) を作成するかどうかを設定します。
@param flag 真または偽を指定します。
//emlist[][ruby]{
# Rakefile での記載例とする
require 'rake/packagetask'
Rake::PackageTask.new("sample", "1.0.0") do |package_task|
package_task.need_tar_bz2 # => false
package_task.need_tar_bz2 = true
package_task.need_tar_bz2 ... -
Rake
:: PackageTask # need _ tar _ gz -> bool (27340.0) -
この値が真である場合は gzip した tar ファイル (tar.gz) を作成します。 デフォルトは偽です。
この値が真である場合は gzip した tar ファイル (tar.gz) を作成します。
デフォルトは偽です。
//emlist[][ruby]{
# Rakefile での記載例とする
require 'rake/packagetask'
Rake::PackageTask.new("sample", "1.0.0") do |package_task|
package_task.need_tar_gz # => false
end
//} -
Rake
:: PackageTask # need _ tar _ gz=(flag) (27340.0) -
gzip した tar ファイル (tar.gz) を作成するかどうかを設定します。
gzip した tar ファイル (tar.gz) を作成するかどうかを設定します。
@param flag 真または偽を指定します。
//emlist[][ruby]{
# Rakefile での記載例とする
require 'rake/packagetask'
Rake::PackageTask.new("sample", "1.0.0") do |package_task|
package_task.need_tar_gz # => false
package_task.need_tar_gz = true
package_task.need_tar_gz # => ... -
Rake
:: TaskManager # synthesize _ file _ task(task _ name) -> Rake :: FileTask | nil (27340.0) -
与えられたタスク名をもとにファイルタスクを合成します。
与えられたタスク名をもとにファイルタスクを合成します。
@param task_name タスク名を指定します。
@return 与えられたタスク名と同名のファイルが存在する場合は、ファイルタスクを作成して返します。
そうでない場合は nil を返します。
@raise RuntimeError タスクを合成できなかった場合に発生します。
//emlist[][ruby]{
# Rakefile での記載例とする
task default: :test_rake_app
task :test_rake_app do |task|
task.applicatio... -
Thread
# thread _ variable _ set(key , value) (27340.0) -
引数 key で指定した名前のスレッドローカル変数に引数 value をセットしま す。
引数 key で指定した名前のスレッドローカル変数に引数 value をセットしま
す。
[注意]: Thread#[] でセットしたローカル変数(Fiber ローカル変数)と
異なり、セットした変数は Fiber を切り替えても共通で使える事に注意してく
ださい。
//emlist[例][ruby]{
thr = Thread.new do
Thread.current.thread_variable_set(:cat, 'meow')
Thread.current.thread_variable_set("dog", 'woof')
end
thr.join ... -
RubyVM
:: InstructionSequence # absolute _ path -> String | nil (27322.0) -
self が表す命令シーケンスの絶対パスを返します。
self が表す命令シーケンスの絶対パスを返します。
self を文字列から作成していた場合は nil を返します。
例1:irb で実行した場合
iseq = RubyVM::InstructionSequence.compile('num = 1 + 2')
# => <RubyVM::InstructionSequence:<compiled>@<compiled>>
iseq.absolute_path
# => nil
例2: RubyVM::InstructionSequence.compile_file を使用した場合
# /tmp/method.... -
RubyVM
:: InstructionSequence # first _ lineno -> Integer (27322.0) -
self が表す命令シーケンスの 1 行目の行番号を返します。
self が表す命令シーケンスの 1 行目の行番号を返します。
例1:irb で実行した場合
RubyVM::InstructionSequence.compile('num = 1 + 2').first_lineno
# => 1
例2:
# /tmp/method.rb
require "foo-library"
def foo
p :foo
end
RubyVM::InstructionSequence.of(method(:foo)).first_lineno
# => 2 -
RubyVM
:: InstructionSequence # path -> String (27322.0) -
self が表す命令シーケンスの相対パスを返します。
self が表す命令シーケンスの相対パスを返します。
self の作成時に指定した文字列を返します。self を文字列から作成していた
場合は "<compiled>" を返します。
例1:irb で実行した場合
iseq = RubyVM::InstructionSequence.compile('num = 1 + 2')
# => <RubyVM::InstructionSequence:<compiled>@<compiled>>
iseq.path
# => "<compiled>"
例2: RubyVM::InstructionSequence.compi... -
Encoding
:: Converter # primitive _ convert(source _ buffer , destination _ buffer , destination _ byteoffset , destination _ bytesize , options) -> Symbol (20458.0) -
エンコーディング変換のためのメソッドの中で、もっとも細かな扱いが可能なメソッドです。
エンコーディング変換のためのメソッドの中で、もっとも細かな扱いが可能なメソッドです。
可搬性を確保しつつ、不正なバイトや変換先で未定義な文字の扱いを細かに指定したいときは、Encoding::Converter#primitive_convert が唯一の方法になります。
@param source_buffer 変換元文字列のバッファ
@param destination_buffer 変換先文字列を格納するバッファ
@param destination_byteoffset 変換先バッファでのオフセット
@param destination_bytesize 変換先バッファの容量
@... -
Encoding
:: Converter # primitive _ convert(source _ buffer , destination _ buffer , destination _ byteoffset , destination _ bytesize) -> Symbol (20158.0) -
エンコーディング変換のためのメソッドの中で、もっとも細かな扱いが可能なメソッドです。
エンコーディング変換のためのメソッドの中で、もっとも細かな扱いが可能なメソッドです。
可搬性を確保しつつ、不正なバイトや変換先で未定義な文字の扱いを細かに指定したいときは、Encoding::Converter#primitive_convert が唯一の方法になります。
@param source_buffer 変換元文字列のバッファ
@param destination_buffer 変換先文字列を格納するバッファ
@param destination_byteoffset 変換先バッファでのオフセット
@param destination_bytesize 変換先バッファの容量
@... -
Encoding
:: Converter # primitive _ convert(source _ buffer , destination _ buffer , destination _ byteoffset) -> Symbol (19558.0) -
エンコーディング変換のためのメソッドの中で、もっとも細かな扱いが可能なメソッドです。
エンコーディング変換のためのメソッドの中で、もっとも細かな扱いが可能なメソッドです。
可搬性を確保しつつ、不正なバイトや変換先で未定義な文字の扱いを細かに指定したいときは、Encoding::Converter#primitive_convert が唯一の方法になります。
@param source_buffer 変換元文字列のバッファ
@param destination_buffer 変換先文字列を格納するバッファ
@param destination_byteoffset 変換先バッファでのオフセット
@param destination_bytesize 変換先バッファの容量
@... -
Encoding
:: Converter # primitive _ convert(source _ buffer , destination _ buffer) -> Symbol (18958.0) -
エンコーディング変換のためのメソッドの中で、もっとも細かな扱いが可能なメソッドです。
エンコーディング変換のためのメソッドの中で、もっとも細かな扱いが可能なメソッドです。
可搬性を確保しつつ、不正なバイトや変換先で未定義な文字の扱いを細かに指定したいときは、Encoding::Converter#primitive_convert が唯一の方法になります。
@param source_buffer 変換元文字列のバッファ
@param destination_buffer 変換先文字列を格納するバッファ
@param destination_byteoffset 変換先バッファでのオフセット
@param destination_bytesize 変換先バッファの容量
@... -
Object
# singleton _ methods(inherited _ too = true) -> [Symbol] (18928.0) -
そのオブジェクトに対して定義されている特異メソッド名 (public あるいは protected メソッド) の一覧を返します。
そのオブジェクトに対して定義されている特異メソッド名
(public あるいは protected メソッド) の一覧を返します。
inherited_too が真のときは継承した特異メソッドを含みます。
継承した特異メソッドとは Object#extend によって追加された特異メソッドや、
self がクラスの場合はスーパークラスのクラスメソッド(Classのインスタンスの特異メソッド)などです。
singleton_methods(false) は、Object#methods(false) と同じです。
@param inherited_too 継承した特異メソッドを含める場合は... -
Regexp
# match(str , pos = 0) -> MatchData | nil (18766.0) -
指定された文字列 str に対して位置 pos から自身が表す正規表現によるマッ チングを行います。マッチした場合には結果を MatchData オブジェクトで返し ます。 マッチしなかった場合 nil を返します。
指定された文字列 str に対して位置 pos から自身が表す正規表現によるマッ
チングを行います。マッチした場合には結果を MatchData オブジェクトで返し
ます。
マッチしなかった場合 nil を返します。
省略可能な第二引数 pos を指定すると、マッチの開始位置を pos から行
うよう制御できます(pos のデフォルト値は 0)。
//emlist[例][ruby]{
p(/(.).(.)/.match("foobar", 3).captures) # => ["b", "r"]
p(/(.).(.)/.match("foobar", -3).captures) #... -
Enumerator
# next -> object (18748.0) -
「次」のオブジェクトを返します。
「次」のオブジェクトを返します。
現在までの列挙状態に応じて「次」のオブジェクトを返し、列挙状態を1つ分進めます。
列挙が既に最後へ到達している場合は、
StopIteration 例外を発生します。このとき列挙状態は変化しません。
つまりもう一度 next を呼ぶと再び例外が発生します。
next メソッドによる外部列挙の状態は他のイテレータメソッドによる
内部列挙には影響を与えません。
ただし、 IO#each_line のようにおおもとの列挙メカニズムが副作用を
伴っている場合には影響があり得ます。
@raise StopIteration 列挙状態が既に最後へ到達しているとき
@... -
Module
# ruby2 _ keywords(method _ name , . . . ) -> nil (18733.0) -
For the given method names, marks the method as passing keywords through a normal argument splat. This should only be called on methods that accept an argument splat (`*args`) but not explicit keywords or a keyword splat. It marks the method such that if the method is called with keyword arguments, the final hash argument is marked with a special flag such that if it is the final element of a normal argument splat to another method call, and that method call does not include explicit keywords or a keyword splat, the final element is interpreted as keywords. In other words, keywords will be passed through the method to other methods.
For the given method names, marks the method as passing keywords through
a normal argument splat. This should only be called on methods that
accept an argument splat (`*args`) but not explicit keywords or a
keyword splat. It marks the method such that if the method is called
with keyword argument... -
Module
# private _ instance _ methods(inherited _ too = true) -> [Symbol] (18730.0) -
そのモジュールで定義されている private メソッド名 の一覧を配列で返します。
そのモジュールで定義されている private メソッド名
の一覧を配列で返します。
@param inherited_too false を指定するとそのモジュールで定義されているメソッドのみ返します。
@see Object#private_methods, Module#instance_methods
//emlist[例][ruby]{
module Foo
def foo; end
private def bar; end
end
module Bar
include Foo
def baz; end
private def qux; end
end... -
Object
# to _ enum(method = :each , *args) -> Enumerator (18730.0) -
Enumerator.new(self, method, *args) を返します。
Enumerator.new(self, method, *args) を返します。
ブロックを指定した場合は Enumerator#size がブロックの評価結果を返
します。ブロックパラメータは引数 args です。
@param method メソッド名の文字列かシンボルです。
@param args 呼び出すメソッドに渡される引数です。
//emlist[][ruby]{
str = "xyz"
enum = str.enum_for(:each_byte)
p(a = enum.map{|b| '%02x' % b }) #=> ["78", "79", "7a"]
#... -
Object
# to _ enum(method = :each , *args) {|*args| . . . } -> Enumerator (18730.0) -
Enumerator.new(self, method, *args) を返します。
Enumerator.new(self, method, *args) を返します。
ブロックを指定した場合は Enumerator#size がブロックの評価結果を返
します。ブロックパラメータは引数 args です。
@param method メソッド名の文字列かシンボルです。
@param args 呼び出すメソッドに渡される引数です。
//emlist[][ruby]{
str = "xyz"
enum = str.enum_for(:each_byte)
p(a = enum.map{|b| '%02x' % b }) #=> ["78", "79", "7a"]
#... -
Enumerator
:: Lazy # to _ enum(method = :each , *args) -> Enumerator :: Lazy (18694.0) -
Object#to_enum と同じですが、Enumerator::Lazy を返します。
Object#to_enum と同じですが、Enumerator::Lazy を返します。
to_enum は「ブロック付きで呼ぶとループを実行し、ブロックを省略した場合は
Enumerator を返す」ようなメソッドを定義するときによく使われます。
このときに lazy 性が正しく引き継がれるように、Lazy#to_enum は
素のEnumerator ではなく Enumerator::Lazy を返すようになっています。
//emlist[例][ruby]{
module Enumerable
# 要素をn回ずつ繰り返すメソッド
# 例:[1,2,3].repeat(2) ... -
Enumerator
:: Lazy # to _ enum(method = :each , *args) {|*args| block} -> Enumerator :: Lazy (18694.0) -
Object#to_enum と同じですが、Enumerator::Lazy を返します。
Object#to_enum と同じですが、Enumerator::Lazy を返します。
to_enum は「ブロック付きで呼ぶとループを実行し、ブロックを省略した場合は
Enumerator を返す」ようなメソッドを定義するときによく使われます。
このときに lazy 性が正しく引き継がれるように、Lazy#to_enum は
素のEnumerator ではなく Enumerator::Lazy を返すようになっています。
//emlist[例][ruby]{
module Enumerable
# 要素をn回ずつ繰り返すメソッド
# 例:[1,2,3].repeat(2) ... -
Thread
# backtrace -> [String] | nil (18676.0) -
スレッドの現在のバックトレースを返します。
スレッドの現在のバックトレースを返します。
スレッドがすでに終了している場合は nil を返します。
//emlist[例][ruby]{
class C1
def m1
sleep 5
end
def m2
m1
end
end
th = Thread.new {C1.new.m2; Thread.stop}
th.backtrace
# => [
# [0] "(irb):3:in `sleep'",
# [1] "(irb):3:in `m1'",
# [2] "(irb):6:in `m2'",
# [3] ... -
Exception
# backtrace -> [String] (18658.0) -
バックトレース情報を返します。
バックトレース情報を返します。
デフォルトでは
* "#{sourcefile}:#{sourceline}:in `#{method}'"
(メソッド内の場合)
* "#{sourcefile}:#{sourceline}"
(トップレベルの場合)
という形式の String の配列です。
//emlist[例][ruby]{
def methd
raise
end
begin
methd
rescue => e
p e.backtrace
end
#=> ["filename.rb:2:in `methd'", "filename.rb:6... -
IO
# readbyte -> Integer (18658.0) -
IO から1バイトを読み込み整数として返します。 既に EOF に達していれば EOFError が発生します。
IO から1バイトを読み込み整数として返します。
既に EOF に達していれば EOFError が発生します。
@raise EOFError 既に EOF に達している場合に発生します。
//emlist[例][ruby]{
IO.write("testfile", "123")
File.open("testfile") do |f|
begin
f.readbyte # => 49
f.readbyte # => 50
f.readbyte # => 51
f.readbyte # => 例外発生
rescue => e
e... -
Module
# define _ method(name , method) -> Symbol (18658.0) -
インスタンスメソッド name を定義します。
インスタンスメソッド name を定義します。
ブロックを与えた場合、定義したメソッドの実行時にブロックが
レシーバクラスのインスタンスの上で BasicObject#instance_eval されます。
@param name メソッド名を String または Symbol を指定します。
@param method Proc、Method あるいは UnboundMethod の
いずれかのインスタンスを指定します。
@return メソッド名を表す Symbol を返します。
@raise TypeError method に同じクラス、サブクラス、モジュー... -
Numeric
# step(limit , step = 1) -> Enumerator (18658.0) -
self からはじめ step を足しながら limit を越える 前までブロックを繰り返します。step は負の数も指定できます。また、limit や step には Float なども 指定できます。
self からはじめ step を足しながら limit を越える
前までブロックを繰り返します。step は負の数も指定できます。また、limit や step には Float なども
指定できます。
@param limit ループの上限あるいは下限を数値で指定します。step に負の数が指定された場合は、
下限として解釈されます。
@param step 各ステップの大きさを数値で指定します。負の数を指定することもできます。
@param to 引数limitと同じですが、省略した場合はキーワード引数byが正の
数であれば Float::INF... -
Numeric
# step(limit , step = 1) {|n| . . . } -> self (18658.0) -
self からはじめ step を足しながら limit を越える 前までブロックを繰り返します。step は負の数も指定できます。また、limit や step には Float なども 指定できます。
self からはじめ step を足しながら limit を越える
前までブロックを繰り返します。step は負の数も指定できます。また、limit や step には Float なども
指定できます。
@param limit ループの上限あるいは下限を数値で指定します。step に負の数が指定された場合は、
下限として解釈されます。
@param step 各ステップの大きさを数値で指定します。負の数を指定することもできます。
@param to 引数limitと同じですが、省略した場合はキーワード引数byが正の
数であれば Float::INF... -
String
# each _ byte {|byte| . . . } -> self (18658.0) -
文字列の各バイトに対して繰り返します。
文字列の各バイトに対して繰り返します。
//emlist[例][ruby]{
"str".each_byte do |byte|
p byte
end
# => 115
# => 116
# => 114
"あ".each_byte do |byte|
p byte
end
# => 227
# => 129
# => 130
//}
@see String#bytes -
TracePoint
# raised _ exception -> Exception (18658.0) -
発生した例外を返します。
発生した例外を返します。
@raise RuntimeError :raise イベントのためのイベントフックの外側で実行し
た場合に発生します。
//emlist[例][ruby]{
trace = TracePoint.new(:raise) do |tp|
tp.raised_exception # => #<ZeroDivisionError: divided by 0>
end
trace.enable
begin
0/0
rescue
end
//} -
ARGF
. class # readbyte -> Integer (18640.0) -
自身から 1 バイトを読み込み整数として返します。 既に EOF に達していれば EOFError が発生します。
自身から 1 バイトを読み込み整数として返します。
既に EOF に達していれば EOFError が発生します。
@raise EOFError 既に EOF に達している場合に発生します。
$ echo "foo" > file
$ ruby argf.rb file
ARGF.readbyte # => 102
ARGF.readbyte # => 111
ARGF.readbyte # => 111
ARGF.readbyte # => 10
ARGF.readbyte # => end of file reached (EOFError)... -
File
# lstat -> File :: Stat (18640.0) -
ファイルの状態を含む File::Stat オブジェクトを生成して返します。 シンボリックリンクに関してリンクそのものの情報を返します。 lstat(2) を実装していないシステムでは、IO#statと同じです。
ファイルの状態を含む File::Stat オブジェクトを生成して返します。
シンボリックリンクに関してリンクそのものの情報を返します。
lstat(2) を実装していないシステムでは、IO#statと同じです。
@raise Errno::EXXX 失敗した場合に発生します。
@raise IOError 自身が close されている場合に発生します。
//emlist[例][ruby]{
# testlink は testfile のシンボリックリンク
File.open("testlink") do |f|
p f.lstat == File.stat("testfil... -
IO
# stat -> File :: Stat (18640.0) -
ファイルのステータスを含む File::Stat オブジェクトを生成して 返します。
ファイルのステータスを含む File::Stat オブジェクトを生成して
返します。
@raise Errno::EXXX ステータスの読み込みに失敗した場合に発生します。
@raise IOError 既に close されていた場合に発生します。
//emlist[例][ruby]{
IO.write("testfile", "This is line one\nThis is line two\n")
File.open("testfile") do |f|
s = f.stat
"%o" % s.mode # => "100644"
s.blksize ... -
IO
# syswrite(string) -> Integer (18640.0) -
write(2) を用いて string を出力します。 string が文字列でなければ to_s による文字列化を試みます。 実際に出力できたバイト数を返します。
write(2) を用いて string を出力します。
string が文字列でなければ to_s による文字列化を試みます。
実際に出力できたバイト数を返します。
stdio を経由しないので他の出力メソッドと混用すると思わぬ動作
をすることがあります。
@param string 自身に書き込みたい文字列を指定します。
@raise IOError 自身が書き込み用にオープンされていなければ発生します。
@raise Errno::EXXX 出力に失敗した場合に発生します。
//emlist[例][ruby]{
File.open("testfile", "w+") do |... -
IO
# write(str) -> Integer (18640.0) -
IOポートに対して str を出力します。str が文字列でなけ れば to_s による文字列化を試みます。 実際に出力できたバイト数を返します。
IOポートに対して str を出力します。str が文字列でなけ
れば to_s による文字列化を試みます。
実際に出力できたバイト数を返します。
IO#syswrite を除く全ての出力メソッドは、最終的に
"write" という名のメソッドを呼び出すので、このメソッドを置き換える
ことで出力関数の挙動を変更することができます。
@param str 自身に書き込みたい文字列を指定します。
@raise IOError 自身が書き込み用にオープンされていなければ発生します。
@raise Errno::EXXX 出力に失敗した場合に発生します。
//emlist[例][ruby]... -
OptionParser
# summary _ width=(width) (18640.0) -
サマリを表示するときの幅を整数で指定します。
サマリを表示するときの幅を整数で指定します。
@param width サマリを表示するときの幅を整数で指定します。
//emlist[例][ruby]{
require "optparse"
opts = OptionParser.new do |opts|
opts.on_head("-i", "--init")
opts.on("-u", "--update")
opts.on_tail("-h", "--help")
end
opts.summary_width # => 32
opts.summarize
# => [" -i, --init\n"... -
Rake
:: Application # tty _ output=(tty _ output _ state) (18640.0) -
TTY に対する出力状態を上書きします。
TTY に対する出力状態を上書きします。
大抵の場合、テストのために使用します。
@param tty_output_state 変更後の状態を指定します
//emlist[][ruby]{
# Rakefile での記載例とする
task default: :test_rake_app
task :test_rake_app do
Rake.application.tty_output? # => false
Rake.application.tty_output = "debug output" # => "debug output"
... -
Range
# last -> object (18631.0) -
終端の要素を返します。範囲オブジェクトが終端を含むかどうかは関係ありま せん。
終端の要素を返します。範囲オブジェクトが終端を含むかどうかは関係ありま
せん。
//emlist[例][ruby]{
(10..20).last # => 20
(10...20).last # => 20
//}
@see Range#begin -
Object
# respond _ to?(name , include _ all = false) -> bool (18592.0) -
オブジェクトがメソッド name を持つとき真を返します。
オブジェクトがメソッド name を持つとき真を返します。
オブジェクトが メソッド name を持つというのは、
オブジェクトが メソッド name に応答できることをいいます。
Windows での Process.fork や GNU/Linux での File.lchmod の
ような NotImplementedError が発生する場合は false を返します。
※ NotImplementedError が発生する場合に false を返すのは
Rubyの組み込みライブラリや標準ライブラリなど、C言語で実装されているメソッドのみです。
Rubyで実装されたメソッドで N... -
Method
# inspect -> String (18556.0) -
self を読みやすい文字列として返します。
self を読みやすい文字列として返します。
以下の形式の文字列を返します。
#<Method: klass1(klass2)#method> (形式1)
klass1 は、Method#inspect では、レシーバのクラス名、
UnboundMethod#inspect では、UnboundMethod オブジェクトの生成
元となったクラス/モジュール名です。
klass2 は、実際にそのメソッドを定義しているクラス/モジュール名、
method は、メソッド名を表します。
//emlist[例][ruby]{
module Foo
def... -
Method
# to _ s -> String (18556.0) -
self を読みやすい文字列として返します。
self を読みやすい文字列として返します。
以下の形式の文字列を返します。
#<Method: klass1(klass2)#method> (形式1)
klass1 は、Method#inspect では、レシーバのクラス名、
UnboundMethod#inspect では、UnboundMethod オブジェクトの生成
元となったクラス/モジュール名です。
klass2 は、実際にそのメソッドを定義しているクラス/モジュール名、
method は、メソッド名を表します。
//emlist[例][ruby]{
module Foo
def... -
Module
# autoload(const _ name , feature) -> nil (18556.0) -
定数 const_name を最初に参照した時に feature を Kernel.#require するように設定します。
定数 const_name を最初に参照した時に feature を Kernel.#require するように設定します。
const_name が autoload 設定されていて、まだ定義されてない(ロードされていない)ときは、
autoload する対象を置き換えます。
const_name が(autoloadではなく)既に定義されているときは何もしません。
@param const_name String または Symbol で指定します。
なお、const_name には、"::" 演算子を含めることはできません。
つまり、self の直下に定... -
Module
# undef _ method(*name) -> self (18556.0) -
このモジュールのインスタンスメソッド name を未定義にします。
このモジュールのインスタンスメソッド name を未定義にします。
@param name 0 個以上の String か Symbol を指定します。
@raise NameError 指定したインスタンスメソッドが定義されていない場合に発生します。
=== 「未定義にする」とは
このモジュールのインスタンスに対して name という
メソッドを呼び出すことを禁止するということです。
スーパークラスの定義が継承されるかどうかという点において、
「未定義」は「メソッドの削除」とは区別されます。
以下のコード例を参照してください。
//emlist[例][ruby]{
class A
... -
Object
# methods(include _ inherited = true) -> [Symbol] (18556.0) -
そのオブジェクトに対して呼び出せるメソッド名の一覧を返します。 このメソッドは public メソッドおよび protected メソッドの名前を返します。
そのオブジェクトに対して呼び出せるメソッド名の一覧を返します。
このメソッドは public メソッドおよび protected メソッドの名前を返します。
ただし特別に、引数が偽の時は Object#singleton_methods(false) と同じになっています。
@param include_inherited 引数が偽の時は Object#singleton_methods(false) と同じになります。
//emlist[例1][ruby]{
class Parent
private; def private_parent() end
protecte... -
Module
# instance _ methods(inherited _ too = true) -> [Symbol] (18502.0) -
そのモジュールで定義されている public および protected メソッド名 の一覧を配列で返します。
そのモジュールで定義されている public および protected メソッド名
の一覧を配列で返します。
@param inherited_too false を指定するとそのモジュールで定義されているメソッドのみ返します。
@see Object#methods
//emlist[例1][ruby]{
class Foo
private; def private_foo() end
protected; def protected_foo() end
public; def public_foo() end
end
# あるクラスのインスタンス... -
Enumerable
# sort _ by -> Enumerator (18466.0) -
ブロックの評価結果を <=> メソッドで比較することで、self を昇 順にソートします。ソートされた配列を新たに生成して返します。
ブロックの評価結果を <=> メソッドで比較することで、self を昇
順にソートします。ソートされた配列を新たに生成して返します。
つまり、以下とほぼ同じ動作をします。
//emlist[例][ruby]{
class Array
def sort_by
self.map {|i| [yield(i), i] }.
sort {|a, b| a[0] <=> b[0] }.
map {|i| i[1]}
end
end
//}
Enumerable#sort と比較して sort_by が優れている点として、
比較条件が複雑な場合の速度が挙... -
Enumerable
# sort _ by {|item| . . . } -> [object] (18466.0) -
ブロックの評価結果を <=> メソッドで比較することで、self を昇 順にソートします。ソートされた配列を新たに生成して返します。
ブロックの評価結果を <=> メソッドで比較することで、self を昇
順にソートします。ソートされた配列を新たに生成して返します。
つまり、以下とほぼ同じ動作をします。
//emlist[例][ruby]{
class Array
def sort_by
self.map {|i| [yield(i), i] }.
sort {|a, b| a[0] <=> b[0] }.
map {|i| i[1]}
end
end
//}
Enumerable#sort と比較して sort_by が優れている点として、
比較条件が複雑な場合の速度が挙... -
Module
# method _ defined?(name , inherit=true) -> bool (18466.0) -
モジュールにインスタンスメソッド name が定義されており、 かつその可視性が public または protected であるときに true を返します。
モジュールにインスタンスメソッド name が定義されており、
かつその可視性が public または protected であるときに
true を返します。
@param name Symbol か String を指定します。
@param inherit 真を指定するとスーパークラスや include したモジュールで
定義されたメソッドも対象になります。
@see Module#public_method_defined?, Module#private_method_defined?, Module#protected_method_defined?
//em... -
Regexp
# match(str , pos = 0) {|m| . . . } -> object | nil (18466.0) -
指定された文字列 str に対して位置 pos から自身が表す正規表現によるマッ チングを行います。マッチした場合には結果を MatchData オブジェクトで返し ます。 マッチしなかった場合 nil を返します。
指定された文字列 str に対して位置 pos から自身が表す正規表現によるマッ
チングを行います。マッチした場合には結果を MatchData オブジェクトで返し
ます。
マッチしなかった場合 nil を返します。
省略可能な第二引数 pos を指定すると、マッチの開始位置を pos から行
うよう制御できます(pos のデフォルト値は 0)。
//emlist[例][ruby]{
p(/(.).(.)/.match("foobar", 3).captures) # => ["b", "r"]
p(/(.).(.)/.match("foobar", -3).captures) #... -
BasicObject
# method _ missing(name , *args) -> object (18460.0) -
呼びだされたメソッドが定義されていなかった時、Rubyインタプリタがこのメソッド を呼び出します。
呼びだされたメソッドが定義されていなかった時、Rubyインタプリタがこのメソッド
を呼び出します。
呼び出しに失敗したメソッドの名前 (Symbol) が name に
その時の引数が第二引数以降に渡されます。
デフォルトではこのメソッドは例外 NoMethodError を発生させます。
@param name 未定義メソッドの名前(シンボル)です。
@param args 未定義メソッドに渡された引数です。
@return ユーザー定義の method_missing メソッドの返り値が未定義メソッドの返り値で
あるかのように見えます。
//emlist[例][ruby]{...