別のキーワード
種類
ライブラリ
- English (4)
- ビルトイン (182)
- bigdecimal (3)
-
cgi
/ html (38) -
cgi
/ session (1) -
cgi
/ util (1) - cmath (1)
- csv (11)
- date (2)
- delegate (1)
- digest (2)
- erb (2)
- fiddle (2)
- ipaddr (3)
- logger (1)
- mkmf (2)
-
net
/ pop (1) - nkf (1)
- observer (1)
- openssl (10)
- ostruct (1)
- pathname (1)
- profiler (1)
- psych (3)
- rake (11)
-
rake
/ loaders / makefile (1) -
rdoc
/ context (1) -
rdoc
/ markup (2) -
rdoc
/ markup / formatter (1) -
rdoc
/ parser (1) -
rdoc
/ parser / ruby (1) - readline (1)
-
rexml
/ document (64) -
rexml
/ sax2listener (1) -
rexml
/ streamlistener (2) -
ripper
/ filter (1) -
rubygems
/ dependency (1) -
rubygems
/ dependency _ list (1) -
rubygems
/ requirement (2) -
rubygems
/ version (2) - set (3)
-
shell
/ filter (3) - stringio (1)
- strscan (2)
- time (2)
- timeout (2)
-
webrick
/ httpservlet / abstract (6) -
webrick
/ httputils (9) -
webrick
/ httpversion (1) -
webrick
/ log (1) - zlib (3)
クラス
- Array (23)
- BasicObject (5)
- BigDecimal (3)
- CGI (1)
-
CGI
:: Session (1) - CSV (6)
-
CSV
:: Row (3) -
CSV
:: Table (1) - Class (2)
- Complex (2)
- Date (2)
-
Digest
:: Base (2) -
Encoding
:: Converter (2) -
Enumerator
:: Lazy (7) -
Enumerator
:: Yielder (1) - Exception (2)
-
Fiddle
:: Pointer (1) -
File
:: Stat (1) - Float (4)
-
Gem
:: Dependency (1) -
Gem
:: DependencyList (1) -
Gem
:: Requirement (2) -
Gem
:: Version (1) - Hash (11)
- IO (1)
- IPAddr (3)
- Integer (7)
- Logger (1)
- Method (3)
- Module (13)
-
Net
:: POP3 (1) - Numeric (6)
- Object (11)
-
OpenSSL
:: BN (3) -
OpenSSL
:: Digest (2) -
OpenSSL
:: HMAC (2) -
OpenSSL
:: X509 :: Name (2) - Pathname (1)
- Proc (4)
-
Psych
:: Visitors :: YAMLTree (2) -
RDoc
:: Context (1) -
RDoc
:: Markup (1) -
RDoc
:: Markup :: Formatter (1) -
RDoc
:: Parser (1) -
RDoc
:: Parser :: Ruby (1) -
REXML
:: Attributes (14) -
REXML
:: CData (3) -
REXML
:: Comment (1) -
REXML
:: Document (5) -
REXML
:: Element (15) -
REXML
:: Elements (9) -
REXML
:: Instruction (2) -
REXML
:: Parent (3) -
REXML
:: Text (2) -
REXML
:: XPath (3) -
Rake
:: EarlyTime (1) -
Rake
:: MakefileLoader (1) -
Rake
:: NameSpace (2) - Range (11)
- Rational (1)
-
RubyVM
:: InstructionSequence (13) - Set (3)
-
Shell
:: Filter (3) - String (12)
- StringIO (1)
- StringScanner (2)
- Symbol (1)
- Thread (4)
-
Thread
:: Backtrace :: Location (1) -
Thread
:: Queue (3) -
Thread
:: SizedQueue (3) - Time (3)
- UnboundMethod (1)
-
WEBrick
:: BasicLog (1) -
WEBrick
:: HTTPServlet :: AbstractServlet (6) -
WEBrick
:: HTTPUtils :: FormData (9) -
WEBrick
:: HTTPVersion (1) -
Zlib
:: Deflate (1) -
Zlib
:: GzipWriter (1) -
Zlib
:: Inflate (1)
モジュール
-
CGI
:: HtmlExtension (38) - CMath (1)
- Comparable (2)
-
ERB
:: Util (2) - Enumerable (17)
- FileUtils (1)
- Kernel (11)
- Math (1)
-
OpenSSL
:: Buffering (1) -
REXML
:: SAX2Listener (1) -
REXML
:: StreamListener (2) -
Rake
:: TaskManager (7) - Timeout (2)
オブジェクト
キーワード
- ! (1)
- != (1)
-
$ < (1) -
$ DEFAULT _ INPUT (1) -
$ ERROR _ INFO (1) -
$ ERROR _ POSITION (1) -
$ LAST _ PAREN _ MATCH (1) - % (1)
-
1
. 6 . 8から1 . 8 . 0への変更点(まとめ) (1) - << (32)
- <= (7)
- <=> (25)
- == (1)
- === (2)
- > (1)
- >> (1)
- Attribute (1)
- BasicObject (1)
- CSV (1)
- Closure (1)
- Comment (1)
- Default (1)
- DelegateClass (1)
- Filter (1)
- Instruction (1)
- Markup (1)
- Marshal フォーマット (1)
-
NEWS for Ruby 2
. 4 . 0 (1) - NKF (1)
- Numeric (1)
- OPS (1)
- Observable (1)
- OpenStruct (1)
- Parser (1)
- Pretty (1)
-
Profiler
_ _ (1) - Ruby プログラムの実行 (1)
- Rubyで使われる記号の意味(正規表現の複雑な記号は除く) (1)
- SINGLE (1)
- Transitive (1)
- Version (1)
- XMLDecl (1)
- [] (7)
- []= (2)
-
absolute
_ path (1) - add (5)
- add? (1)
-
add
_ attribute (2) -
add
_ attributes (1) -
add
_ element (1) -
add
_ row (1) -
add
_ special (1) -
add
_ tag (1) - ancestors (1)
- atanh (1)
- atanh! (1)
- attribute (1)
-
backtrace
_ locations (3) -
base
_ label (2) - bigdecimal (1)
-
bigdecimal
/ jacobian (1) -
bigdecimal
/ newton (1) - bind (1)
-
bit
_ length (1) - bsearch (4)
-
bsearch
_ index (2) - call (1)
- cgi (1)
-
cgi
/ session (1) -
checkbox
_ group (2) -
chunk
_ while (1) -
class
_ variables (1) - clear (1)
- cmp (2)
- compile (1)
-
compile
_ file (1) - concat (4)
- content (1)
- convert (3)
- cover? (1)
- debug (1)
-
define
_ task (1) - delete (2)
-
delete
_ all (2) -
delete
_ attribute (1) -
delete
_ if (2) - disasm (2)
- disassemble (2)
- div (1)
- divmod (2)
-
do
_ DELETE (1) -
do
_ GET (1) -
do
_ HEAD (1) -
do
_ OPTIONS (1) -
do
_ POST (1) -
do
_ PUT (1) - downto (2)
-
drop
_ while (5) - each (3)
-
each
_ attribute (1) -
each
_ data (1) -
each
_ element _ with _ attribute (1) -
each
_ element _ with _ text (1) - encoding (1)
- enq (2)
- entitydecl (1)
-
enum
_ for (4) -
file
_ field (2) - filename (1)
- filename= (1)
- first (1)
- form (4)
-
get
_ attribute (1) -
get
_ attribute _ ns (1) -
get
_ text (1) - h (1)
- hidden (2)
- html (2)
-
html
_ escape (1) - img (2)
- include (1)
- include? (1)
- inherited (1)
- initialize (1)
-
insert
_ output (1) - inspect (1)
-
instance
_ eval (2) -
instance
_ methods (1) -
instance
_ of? (1) - intern (1)
-
is
_ a? (1) -
kind
_ of? (1) - label (1)
- lazy (1)
- length (1)
- list (1)
- load (1)
- logger (1)
- lookup (1)
- match (1)
- max (12)
-
method
_ defined? (1) - methods (1)
- min (12)
- modulo (1)
-
multipart
_ form (4) - name (1)
- name= (1)
- namespaces (1)
-
net
/ smtp (1) - new (4)
-
new
_ ntoh (1) -
next
_ element (1) - of (1)
- open-uri (1)
- pack (2)
- pack テンプレート文字列 (1)
- parse (2)
-
parse
_ files _ matching (1) -
password
_ field (2) - path (1)
- pp (1)
- prefixes (1)
- pretty (1)
- print (1)
-
private
_ method _ defined? (1) -
protected
_ method _ defined? (1) -
public
_ method _ defined? (1) - push (4)
- puts (1)
-
radio
_ group (2) -
rb
_ ary _ store (1) -
rb
_ time _ timespec _ new (1) - rdoc (1)
-
rdoc
/ markdown (1) -
rdoc
/ parser (1) - reject (2)
- reject! (2)
- remainder (1)
- replacement= (1)
-
report
_ on _ exception (1) -
report
_ on _ exception= (1) - reset (2)
-
rexml
/ document (1) -
rexml
/ parsers / pullparser (1) -
rexml
/ parsers / sax2parser (1) -
rexml
/ parsers / streamparser (1) -
rexml
/ parsers / ultralightparser (1) -
rinda
/ rinda (1) - root (1)
-
root
_ node (1) - ruby (1)
-
ruby 1
. 6 feature (1) -
ruby 1
. 8 . 2 feature (1) -
ruby 1
. 8 . 4 feature (1) -
ruby 1
. 8 . 5 feature (1) - rubygems (1)
-
rubygems
/ command _ manager (1) -
rubygems
/ commands / environment _ command (1) -
rubygems
/ commands / help _ command (1) -
scrolling
_ list (2) - scrub (3)
- scrub! (3)
- select (2)
-
set
_ backtrace (1) -
set
_ debug _ output (1) - shell (1)
- size (2)
-
slice
_ when (1) - sort (2)
-
spec
_ predecessors (1) - split (1)
-
stand
_ alone? (1) -
start
_ prefix _ mapping (1) - submit (2)
-
super
_ method (1) - superclass (1)
-
synthesize
_ file _ task (1) -
tag
_ start (1) -
take
_ while (6) - target (1)
- tasks (2)
- test (2)
- text (1)
- text= (1)
-
text
_ field (2) - timeout (2)
-
to
_ a (2) -
to
_ ary (2) -
to
_ binary (1) -
to
_ csv (1) -
to
_ enum (4) -
to
_ h (1) -
to
_ s (3) -
try
_ cpp (2) -
undef
_ method (1) - unpack (1)
- update (3)
- value (1)
- version (1)
-
webrick
/ cgi (1) - xpath (1)
- yield (1)
- クラス/メソッドの定義 (1)
- メソッド呼び出し(super・ブロック付き・yield) (1)
- 制御構造 (1)
- 変数と定数 (1)
- 正規表現 (1)
- 演算子式 (1)
検索結果
先頭5件
-
Object
# is _ a?(mod) -> bool (37.0) -
オブジェクトが指定されたクラス mod かそのサブクラスのインスタンスであるとき真を返します。
オブジェクトが指定されたクラス mod かそのサブクラスのインスタンスであるとき真を返します。
また、オブジェクトがモジュール mod をインクルードしたクラスかそのサブクラス
のインスタンスである場合にも真を返します。
Module#includeだけではなく、Object#extendやModule#prependに
よってサブクラスのインスタンスになる場合も含みます。
上記のいずれでもない場合に false を返します。
@param mod クラスやモジュールなど、Moduleかそのサブクラスのインスタンスです。
//emlist[][ruby]{
module M
end
c... -
Object
# kind _ of?(mod) -> bool (37.0) -
オブジェクトが指定されたクラス mod かそのサブクラスのインスタンスであるとき真を返します。
オブジェクトが指定されたクラス mod かそのサブクラスのインスタンスであるとき真を返します。
また、オブジェクトがモジュール mod をインクルードしたクラスかそのサブクラス
のインスタンスである場合にも真を返します。
Module#includeだけではなく、Object#extendやModule#prependに
よってサブクラスのインスタンスになる場合も含みます。
上記のいずれでもない場合に false を返します。
@param mod クラスやモジュールなど、Moduleかそのサブクラスのインスタンスです。
//emlist[][ruby]{
module M
end
c... -
OpenStruct (37.0)
-
要素を動的に追加・削除できる手軽な構造体を提供するクラスです。
要素を動的に追加・削除できる手軽な構造体を提供するクラスです。
OpenStruct のインスタンスに対して未定義なメソッド x= を呼ぶと、
OpenStruct クラスの BasicObject#method_missing で捕捉され、そのインスタンスに
インスタンスメソッド x, x= が定義されます。
この挙動によって要素を動的に変更できる構造体として働きます。
require 'ostruct'
ab = OpenStruct.new
ab.foo = 25
p ab.foo # => 25
ab.bar = 2
p ab.bar ... -
REXML
:: Attributes # [](name) -> String | nil (37.0) -
属性名nameの属性値を返します。
属性名nameの属性値を返します。
属性値ではなく REXML::Attribute オブジェクトが必要な場合は
REXML::Attributes#get_attribute を使ってください。
nameという属性名の属性がない場合は nil を返します。
@param name 属性名(文字列)
//emlist[][ruby]{
require 'rexml/document'
doc = REXML::Document.new(<<EOS)
<root xmlns:foo="http://example.org/foo"
xmlns:bar="http://exa... -
REXML
:: Attributes # each {|name , value| . . . } -> () (37.0) -
各属性の名前と値に対しブロックを呼び出します。
各属性の名前と値に対しブロックを呼び出します。
名前には expanded_name(REXML::Namespace#exapnded_name)が
渡されます。
//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... -
REXML
:: Attributes # each _ attribute {|attribute| . . . } -> () (37.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... -
REXML
:: Attributes # get _ attribute(name) -> Attribute | nil (37.0) -
name という名前の属性を取得します。
name という名前の属性を取得します。
name という名前を持つ属性がない場合は nil を返します。
@param name 属性名(文字列)
@see REXML::Attributes#[]
//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='... -
REXML
:: Attributes # get _ attribute _ ns(namespace , name) -> REXML :: Attribute | nil (37.0) -
namespace と name で特定される属性を返します。
namespace と name で特定される属性を返します。
namespace で名前空間を、 name で prefix を含まない属性名を
指定します。
指定された属性が存在しない場合は nil を返します。
XML プロセッサが prefix を置き換えてしまった場合でも、このメソッドを
使うことで属性を正しく指定することができます。
@param namespace 名前空間(URI, 文字列)
@param name 属性名(文字列)
//emlist[][ruby]{
require 'rexml/document'
doc = REXML::Document.ne... -
REXML
:: Attributes # length -> Integer (37.0) -
属性の個数を返します。
属性の個数を返します。
//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/a").first
p a.attributes.length # => 3
//}
... -
REXML
:: Attributes # namespaces -> { String => String } (37.0) -
self の中で宣言されている名前空間の集合を返します。
self の中で宣言されている名前空間の集合を返します。
返り値は名前空間の prefix をキーとし、URI を値とする
Hash を返します。
//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.ge... -
REXML
:: Attributes # prefixes -> [String] (37.0) -
self の中で宣言されている prefix の集合を 文字列の配列で返します。
self の中で宣言されている prefix の集合を
文字列の配列で返します。
self が属する要素より上位の要素で定義されているものは含みません。
//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... -
REXML
:: Attributes # size -> Integer (37.0) -
属性の個数を返します。
属性の個数を返します。
//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/a").first
p a.attributes.length # => 3
//}
... -
REXML
:: CData . new(text , respect _ whitespace = true , parent = nil) -> REXML :: CData (37.0) -
text をテキストとして持つ CData オブジェクトを生成します。
text をテキストとして持つ CData オブジェクトを生成します。
respect_whitespace に真を指定すると、text に含まれる空白文字は保存されます。
偽の場合は空白はまとめられます。
@param text テキスト文字列
@param respect_whitespace 空白を保存するかどうかを決める真偽値
@param parent 親ノード
//emlist[][ruby]{
require 'rexml/document'
doc = REXML::Document.new(<<EOS)
<root />
EOS
doc.root.add(REXML::... -
REXML
:: Element # add _ attributes(attrs) -> () (37.0) -
要素の属性を複数追加します。 同じ名前の属性がすでにある場合はその属性を新しい 属性で置き換えます。
要素の属性を複数追加します。
同じ名前の属性がすでにある場合はその属性を新しい
属性で置き換えます。
attrs には Hash もしくは Array を指定できます。
Hash の場合は、
{ "name1" => "value1", "name2" => "value2", ... }
という形で、配列の場合は
[ ["name1", "value1"], ["name2", "value2"], ... }
という形で追加/更新する属性を指定します。
@param attrs 追加する属性の属性名と属性値の対の集合(Array or Hash)
//emlist[][rub... -
REXML
:: Element # attribute(name , namespace = nil) -> REXML :: Attribute | nil (37.0) -
name で指定される属性を返します。
name で指定される属性を返します。
属性は REXML::Attribute オブジェクトの形で返します。
name は "foo:bar" のように prefix を指定することができます。
namespace で名前空間の URI を指定することで、その名前空間内で
name という属性名を持つ属性を指定できます。
指定した属性名の属性がない場合は nil を返します。
@param name 属性名(文字列)
@param namespace 名前空間のURI(文字列)
//emlist[][ruby]{
require 'rexml/document'
doc = R... -
REXML
:: Element # next _ element -> Element | nil (37.0) -
次の兄弟要素を返します。
次の兄弟要素を返します。
次の要素が存在しない場合は nil を返します。
//emlist[][ruby]{
require 'rexml/document'
doc = REXML::Document.new '<a><b/>text<c/></a>'
doc.root.elements['b'].next_element # => <c/>
doc.root.elements['c'].next_element # => nil
//} -
REXML
:: SAX2Listener # start _ prefix _ mapping(prefix , uri) -> () (37.0) -
名前空間の接頭辞(prefix)が導入されたときに呼び出される コールバックメソッドです。
名前空間の接頭辞(prefix)が導入されたときに呼び出される
コールバックメソッドです。
以下のようなXMLを処理
<a xmlns:foo="http://foo.example.org/">
<foo:b />
</a>
すると
start_prefix_mapping("foo", "http://foo.example.org/")
start_element(nil, "a", "a", {"xmlns:foo" => "http://foo.example.org/"})
:
end_element(nil, "a", "a")
end_... -
REXML
:: Text . new(arg , respect _ whitespace = false , parent = nil , raw = nil , entity _ filter = nil , illegal = REXML :: Text :: NEEDS _ A _ SECOND _ CHECK) (37.0) -
テキストノードオブジェクトを生成します。
テキストノードオブジェクトを生成します。
arg でノードの内容を指定します。
文字列の場合はそれが内容として使われます。
REXML::Text オブジェクトの場合はその内容が複製されます。
respect_whitespace に真を指定すると、arg に含まれる空白文字は保存されます。
偽の場合は空白はまとめられます。
raw は true, false, nil のいずれかを指定し、生成されるテキストノードが
raw モードであるかどうかを決めます。
true の場合、そのノードは raw モードであると解釈され、
テキストにはエスケープされていないXMLマークアップは
含まれ... -
Rake
:: NameSpace # [](name) -> Rake :: Task (37.0) -
与えられた名前のタスクを返します。
与えられた名前のタスクを返します。
@param name タスクの名前を指定します。
//emlist[][ruby]{
# Rakefile での記載例とする
namespace :ns do |ns|
task :ts1 do
end
task :ts2 do
end
ns[:ts1] # => <Rake::Task ns:ts1 => []>
ns[:ts2] # => <Rake::Task ns:ts2 => []>
end
//} -
Rake
:: TaskManager # intern(task _ class , task _ name) -> Rake :: Task (37.0) -
タスクを検索します。
タスクを検索します。
タスクが見つかれば見つかったタスクを返します。
見つからなければ、与えられた型のタスクを作成して返します。
@param task_class タスクのクラスを指定します。
@param task_name タスクの名前を指定します。
//emlist[][ruby]{
# Rakefile での記載例とする
task default: :test_rake_app
task :test_rake_app do |task|
task.application.intern(Rake::Task, "test_rake_app") # => <Rake::... -
Rake
:: TaskManager # tasks -> Array (37.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... -
Range
# bsearch -> Enumerator (37.0) -
ブロックの評価結果で範囲内の各要素の大小判定を行い、条件を満たす値を二 分探索(計算量は O(log n))で検索します。要素が見つからない場合は nil を 返します。
ブロックの評価結果で範囲内の各要素の大小判定を行い、条件を満たす値を二
分探索(計算量は O(log n))で検索します。要素が見つからない場合は nil を
返します。
本メソッドはブロックを評価した結果により以下のいずれかのモードで動作し
ます。
* find-minimum モード
* find-any モード
find-minimum モード(特に理由がない限りはこのモードを使う方がいいでしょ
う)では、条件判定の結果を以下のようにする必要があります。
* 求める値がブロックパラメータの値か前の要素の場合: true を返す
* 求める値がブロックパラメータより後の要... -
Range
# bsearch {|obj| . . . } -> object | nil (37.0) -
ブロックの評価結果で範囲内の各要素の大小判定を行い、条件を満たす値を二 分探索(計算量は O(log n))で検索します。要素が見つからない場合は nil を 返します。
ブロックの評価結果で範囲内の各要素の大小判定を行い、条件を満たす値を二
分探索(計算量は O(log n))で検索します。要素が見つからない場合は nil を
返します。
本メソッドはブロックを評価した結果により以下のいずれかのモードで動作し
ます。
* find-minimum モード
* find-any モード
find-minimum モード(特に理由がない限りはこのモードを使う方がいいでしょ
う)では、条件判定の結果を以下のようにする必要があります。
* 求める値がブロックパラメータの値か前の要素の場合: true を返す
* 求める値がブロックパラメータより後の要... -
RubyVM
:: InstructionSequence # disasm -> String (37.0) -
self が表す命令シーケンスを人間が読める形式の文字列に変換して返します。
self が表す命令シーケンスを人間が読める形式の文字列に変換して返します。
puts RubyVM::InstructionSequence.compile('1 + 2').disasm
出力:
== disasm: <RubyVM::InstructionSequence:<compiled>@<compiled>>==========
0000 trace 1 ( 1)
0002 putobject 1
0004 putobje... -
RubyVM
:: InstructionSequence # disassemble -> String (37.0) -
self が表す命令シーケンスを人間が読める形式の文字列に変換して返します。
self が表す命令シーケンスを人間が読める形式の文字列に変換して返します。
puts RubyVM::InstructionSequence.compile('1 + 2').disasm
出力:
== disasm: <RubyVM::InstructionSequence:<compiled>@<compiled>>==========
0000 trace 1 ( 1)
0002 putobject 1
0004 putobje... -
RubyVM
:: InstructionSequence . of(body) -> RubyVM :: InstructionSequence (37.0) -
引数 body で指定した Proc、Method オブジェクトを元に RubyVM::InstructionSequence オブジェクトを作成して返します。
引数 body で指定した Proc、Method オブジェクトを元に
RubyVM::InstructionSequence オブジェクトを作成して返します。
@param body Proc、Method オブジェクトを指定します。
例1:irb で実行した場合
# proc
> p = proc { num = 1 + 2 }
> RubyVM::InstructionSequence.of(p)
> # => <RubyVM::InstructionSequence:block in irb_binding@(irb)>
# method
> def ... -
Shell
:: Filter # >(to) -> self (37.0) -
toをフィルタの出力とする。 toが, 文字列ならばファイルに, IOオブジェクトであれ ばそれをそのまま出力とする。
toをフィルタの出力とする。 toが, 文字列ならばファイルに, IOオブジェクトであれ
ばそれをそのまま出力とする。
@param to 出力先を指定します。文字列ならばファイルに,IOオブジェクトならばそれに出力します。
使用例
require 'shell'
Shell.def_system_command("tail")
sh = Shell.new
sh.transact {
(sh.tail("-n 3") < "/etc/passwd") > File.open("tail.out", "w")
#(sh.tail("-n 3") < "/e... -
Shell
:: Filter # >>(to) -> self (37.0) -
toをフィルタに追加する。 toが, 文字列ならばファイルに, IOオブジェクトであれば それをそのまま出力とする。
toをフィルタに追加する。 toが, 文字列ならばファイルに, IOオブジェクトであれば
それをそのまま出力とする。
@param to 出力先を指定します。文字列ならばファイルに、IOオブジェクトならばそれに出力します。
使用例
require 'shell'
Shell.def_system_command("tail")
sh = Shell.new
sh.transact {
(sh.tail("-n 3") < "/etc/passwd") >> "tail.out"
#(sh.tail("-n 3") < "/etc/passwd") >> ... -
VALUE rb
_ time _ timespec _ new(const struct timespec *ts , int offset) (37.0) -
引数 ts、offset を元に Time オブジェクトを作成して返します。
引数 ts、offset を元に Time オブジェクトを作成して返します。
@param ts timespec 構造体のポインタ
@param offset 協定世界時との時差(秒)。
-86400 < offset < 86400 の場合は指定した時差に、INT_MAX
を指定した場合は地方時、INT_MAX-1 を指定した場合は UTC に
なります。
@raise ArgumentError offset に上述の範囲以外の値を指定した場合に発生し
ま... -
pp (37.0)
-
オブジェクトなどを見やすく出力するためのライブラリです。
オブジェクトなどを見やすく出力するためのライブラリです。
このライブラリを require すると Kernel.#pp が定義されます。
Kernel.#p のかわりに Kernel.#pp を使うことにより、
適切にインデントと改行された分かりやすい出力を得ることが出来ます。
pp ライブラリは、ユーザがあたらしく定義したクラスに対しても見やすい表示を
するように作られていますので、Kernel.#pp を使う上で余計な作業をする
必要はありません。
=== どちらが読みやすいでしょうか?
p による pretty-print されてない出力:
#<PP:0x81a0d10 @s... -
rdoc
/ markdown (37.0) -
Markdown 形式で記述されたドキュメントを rdoc 上で解析するための サブライブラリです。
Markdown 形式で記述されたドキュメントを rdoc 上で解析するための
サブライブラリです。
詳しくは以下を参照してください。
* https://daringfireball.net/projects/markdown/syntax
Markdown 形式をデフォルトのフォーマットにする場合は、
lib:rdoc#saved_options を参考に プロジェクトのデフォルトを
.rdoc_options ファイルで設定してください。
=== 拡張
以降の Markdown の拡張は RDoc のパーサ独自にサポートされているも
のです。ただし、全てがデフォルトで有効にな... -
rexml
/ parsers / pullparser (37.0) -
プル方式の XML パーサ。
プル方式の XML パーサ。
REXML::Parsers::StreamParser はパースした結果をコールバックによって
受動的に受け取りますが、このパーサは REXML::Parsers::PullParser#pull
によってパーサから結果をイベントという形で順に能動的に取り出します。
外部的にはこのクラスのオブジェクトはイベントのキューと見なせます。
pull はそのキューの先頭を取り出し、キューから取り除きます。
pull は REXML::Parsers::PullEvent オブジェクトを返します。
このオブジェクトの
REXML::Parsers::PullEvent... -
rinda
/ rinda (37.0) -
Rubyで実装されたタプルスペース(Tuple Space)を扱うためのライブラリです。
Rubyで実装されたタプルスペース(Tuple Space)を扱うためのライブラリです。
タプルスペースとは並列プログラムにおける一つのパターンです。
並列プログラミングにおいては、ロックのような同期処理が必須ですが、
適切な同期処理を実現することは困難をともないます。
このパターンにおいては、複数の並列単位(スレッド/プロセス)間の通信をすべて
タプルスペースという領域を経由して行います。これによって
プロセス間の通信トポロジーを単純化し、問題を簡単化します。
タプルスペースに対しては、タプルを書き込む(write)、取り出す(take)、
タプルの要素を覗き見る(read)
という操作の... -
ruby 1
. 8 . 5 feature (37.0) -
ruby 1.8.5 feature ruby 1.8.4 から ruby 1.8.5 までの変更点です。
ruby 1.8.5 feature
ruby 1.8.4 から ruby 1.8.5 までの変更点です。
掲載方針
*バグ修正の影響も含めて動作が変わるものを収録する。
*単にバグを直しただけのものは収録しない。
*ライブラリへの単なる定数の追加は収録しない。
以下は各変更点に付けるべきタグです。
記号について(特に重要なものは大文字(主観))
* カテゴリ
* [ruby]: ruby インタプリタの変更
* [api]: 拡張ライブラリ API
* [lib]: ライブラリ
* レベル
* [bug]: バグ修正
* [new]: 追加されたクラス/メソッ... -
rubygems (37.0)
-
RubyGems を扱うためのクラスやモジュールが定義されているライブラリです。
RubyGems を扱うためのクラスやモジュールが定義されているライブラリです。
===[a:gem_command] gem コマンドの使い方
$ gem help
RubyGems は Ruby のための高機能なパッケージ管理ツールです。
これはより多くの情報へのポインタを含んでいる基本的なヘルプメッセージです。
使用方法:
gem -h/--help
gem -v/--version
gem command [arguments...] [options...]
例:
... -
shell (37.0)
-
Ruby 上で sh/csh のようにコマンドの実行及びフィルタリングを手軽に行うためのライブラリです。
Ruby 上で sh/csh のようにコマンドの実行及びフィルタリングを手軽に行うためのライブラリです。
sh/csh の制御文は Ruby の機能を用いて実現します。
=== サンプル
==== Example 1:
require 'shell'
sh = Shell.cd("/tmp")
sh.mkdir "shell-test-1" unless sh.exists?("shell-test-1")
sh.cd("shell-test-1")
for dir in ["dir1", "dir3", "dir5"]
unless sh.exists?(... -
メソッド呼び出し(super・ブロック付き・yield) (37.0)
-
メソッド呼び出し(super・ブロック付き・yield) * super * block * yield * block_arg * numbered_parameters * call_method
メソッド呼び出し(super・ブロック付き・yield)
* super
* block
* yield
* block_arg
* numbered_parameters
* call_method
//emlist[例][ruby]{
foo.bar()
foo.bar
bar()
print "hello world\n"
print
Class.new
Class::new
//}
文法:
[式 `.'] 識別子 [`(' [[`*'] 式] ... [`&' 式] `)']
[式 `::'] 識別子 [`(' ... -
演算子式 (37.0)
-
演算子式 * assign * selfassign * multiassign * range * range_cond * and * or * not * cond
演算子式
* assign
* selfassign
* multiassign
* range
* range_cond
* and
* or
* not
* cond
//emlist[例][ruby]{
1+2*3/4
//}
プログラミングの利便のために一部のメソッド呼び出しと制御構造は演算子形
式をとります。Rubyには以下にあげる演算子があります。
高い ::
[]
+(単項) ! ~
**
... -
CGI
:: HtmlExtension # text _ field(attributes) -> String (31.0) -
タイプが text である input 要素を生成します。
タイプが text である input 要素を生成します。
@param attributes 属性をハッシュで指定します。
text_field({ "NAME" => "name", "VALUE" => "value" })
# <INPUT TYPE="text" NAME="name" VALUE="value"> -
CGI
:: HtmlExtension # checkbox _ group(attributes) -> String (28.0) -
タイプが checkbox である input 要素のグループを生成します。
タイプが checkbox である input 要素のグループを生成します。
生成される input 要素の name 属性はすべて同じになり、
それぞれの input 要素の後ろにはラベルが続きます。
@param attributes 属性をハッシュで指定します。
例:
checkbox_group({ "NAME" => "name",
"VALUES" => ["foo", "bar", "baz"] })
checkbox_group({ "NAME" => "name",
"VALUES"... -
CGI
:: HtmlExtension # file _ field(attributes) -> String (28.0) -
タイプが file である input 要素を生成します。
タイプが file である input 要素を生成します。
@param attributes 属性をハッシュで指定します。
例:
file_field({ "NAME" => "name", "SIZE" => 40 })
# <INPUT TYPE="file" NAME="name" SIZE="40"> -
CGI
:: HtmlExtension # form(attributes) -> String (28.0) -
form 要素を生成します。 ブロックを与えると、ブロックを評価した結果が内容になります。
form 要素を生成します。
ブロックを与えると、ブロックを評価した結果が内容になります。
@param attributes 属性をハッシュで指定します。
例:
form({"METHOD" => "post", ENCTYPE => "enctype"}){ "string" }
# <FORM METHOD="post" ENCTYPE="enctype">string</FORM>
@see CGI::HtmlExtension#multipart_form -
CGI
:: HtmlExtension # form(attributes) { . . . } -> String (28.0) -
form 要素を生成します。 ブロックを与えると、ブロックを評価した結果が内容になります。
form 要素を生成します。
ブロックを与えると、ブロックを評価した結果が内容になります。
@param attributes 属性をハッシュで指定します。
例:
form({"METHOD" => "post", ENCTYPE => "enctype"}){ "string" }
# <FORM METHOD="post" ENCTYPE="enctype">string</FORM>
@see CGI::HtmlExtension#multipart_form -
CGI
:: HtmlExtension # password _ field(attributes) -> String (28.0) -
タイプが password である input 要素を生成します。
タイプが password である input 要素を生成します。
@param attributes 属性をハッシュで指定します。
例:
password_field({ "NAME" => "name", "VALUE" => "value" })
# <INPUT TYPE="password" NAME="name" VALUE="value"> -
CGI
:: HtmlExtension # radio _ group(attributes) -> String (28.0) -
タイプが radio である input 要素のリストを生成します。
タイプが radio である input 要素のリストを生成します。
生成される input 要素の name 属性はすべて同じになり、
それぞれの input 要素の後ろにはラベルが続きます。
@param attributes 属性をハッシュで指定します。
例:
radio_group({ "NAME" => "name",
"VALUES" => ["foo", "bar", "baz"] })
radio_group({ "NAME" => "name",
"VALUES" => [["foo"], [... -
CGI
:: HtmlExtension # submit(attributes) -> String (28.0) -
タイプが submit である input 要素を生成します。
タイプが submit である input 要素を生成します。
@param attributes 属性をハッシュで指定します。
例:
submit({ "VALUE" => "ok", "NAME" => "button1", "ID" => "foo" })
# <INPUT TYPE="submit" VALUE="ok" NAME="button1" ID="foo"> -
CGI
:: HtmlExtension # hidden(attributes) -> String (25.0) -
タイプが hidden である input 要素を生成します。
タイプが hidden である input 要素を生成します。
@param attributes 属性をハッシュで指定します。
例:
hidden({ "NAME" => "name", "VALUE" => "reset", "ID" => "foo" })
# <INPUT TYPE="hidden" NAME="name" VALUE="value" ID="foo"> -
CGI
:: HtmlExtension # image _ button(attributes) -> String (25.0) -
タイプが image の input 要素を生成します。
タイプが image の input 要素を生成します。
@param attributes 属性をハッシュで指定します。
例:
image_button({ "SRC" => "url", "ALT" => "string" })
# <INPUT TYPE="image" SRC="url" ALT="string"> -
CGI
:: HtmlExtension # radio _ button(attributes) -> String (25.0) -
タイプが radio である input 要素を生成します。
タイプが radio である input 要素を生成します。
@param attributes 属性をハッシュで指定します。
例:
radio_button({ "NAME" => "name", "VALUE" => "value", "ID" => "foo" })
# <INPUT TYPE="radio" NAME="name" VALUE="value" ID="foo"> -
CGI
:: HtmlExtension # reset(attributes) -> String (25.0) -
タイプが reset である input 要素を生成します。
タイプが reset である input 要素を生成します。
@param attributes 属性をハッシュで指定します。
reset({ "VALUE" => "reset", "ID" => "foo" })
# <INPUT TYPE="reset" VALUE="reset" ID="foo"> -
CGI
:: HtmlExtension # img(attributes) -> String (22.0) -
img 要素を生成します。
img 要素を生成します。
@param attributes 属性をハッシュで指定します。
例:
img({ "SRC" => "src", "ALT" => "alt", "WIDTH" => 100, "HEIGHT" => 50 })
# <IMG SRC="src" ALT="alt" WIDTH="100" HEIGHT="50"> -
CGI
:: HtmlExtension # img(src = "" , alt = "" , width = nil , height = nil) -> String (22.0) -
img 要素を生成します。
img 要素を生成します。
@param src src 属性の値を指定します。
@param alt alt 属性の値を指定します。
@param width width 属性の値を指定します。
@param height height 属性の値を指定します。
例:
img("src", "alt", 100, 50)
# <IMG SRC="src" ALT="alt" WIDTH="100" HEIGHT="50"> -
CGI
:: HtmlExtension # multipart _ form(action = nil , enctype = "multipart / form-data") -> String (22.0) -
enctype 属性に "multipart/form-data" をセットした form 要素を生成します。 ブロックを与えると、ブロックを評価した結果が内容になります。
enctype 属性に "multipart/form-data" をセットした form 要素を生成します。
ブロックを与えると、ブロックを評価した結果が内容になります。
@param action action 属性の値を指定します。
@param enctype enctype 属性の値を指定します。
例:
multipart_form{ "string" }
# <FORM METHOD="post" ENCTYPE="multipart/form-data">string</FORM> -
CGI
:: HtmlExtension # multipart _ form(action = nil , enctype = "multipart / form-data") { . . . } -> String (22.0) -
enctype 属性に "multipart/form-data" をセットした form 要素を生成します。 ブロックを与えると、ブロックを評価した結果が内容になります。
enctype 属性に "multipart/form-data" をセットした form 要素を生成します。
ブロックを与えると、ブロックを評価した結果が内容になります。
@param action action 属性の値を指定します。
@param enctype enctype 属性の値を指定します。
例:
multipart_form{ "string" }
# <FORM METHOD="post" ENCTYPE="multipart/form-data">string</FORM> -
CGI
:: HtmlExtension # multipart _ form(attributes) -> String (22.0) -
enctype 属性に "multipart/form-data" をセットした form 要素を生成します。 ブロックを与えると、ブロックを評価した結果が内容になります。
enctype 属性に "multipart/form-data" をセットした form 要素を生成します。
ブロックを与えると、ブロックを評価した結果が内容になります。
@param attributes 属性をハッシュで指定します。
例:
multipart_form("url"){ "string" }
# <FORM METHOD="post" ACTION="url" ENCTYPE="multipart/form-data">string</FORM> -
CGI
:: HtmlExtension # multipart _ form(attributes) { . . . } -> String (22.0) -
enctype 属性に "multipart/form-data" をセットした form 要素を生成します。 ブロックを与えると、ブロックを評価した結果が内容になります。
enctype 属性に "multipart/form-data" をセットした form 要素を生成します。
ブロックを与えると、ブロックを評価した結果が内容になります。
@param attributes 属性をハッシュで指定します。
例:
multipart_form("url"){ "string" }
# <FORM METHOD="post" ACTION="url" ENCTYPE="multipart/form-data">string</FORM> -
Array
# drop _ while -> Enumerator (19.0) -
ブロックを評価して最初に偽となった要素の手前の要素まで捨て、 残りの要素を配列として返します。 このメソッドは自身を破壊的に変更しません。
ブロックを評価して最初に偽となった要素の手前の要素まで捨て、
残りの要素を配列として返します。
このメソッドは自身を破壊的に変更しません。
ブロックを指定しなかった場合は、Enumerator を返します。
//emlist[例][ruby]{
a = [1, 2, 3, 4, 5, 0]
a.drop_while {|i| i < 3 } # => [3, 4, 5, 0]
# 変数aの値は変化しない
a # => [1, 2, 3, 4, 5, 0]
//}
@see Enumerable#drop_while, Array... -
Array
# drop _ while {|element| . . . } -> Array (19.0) -
ブロックを評価して最初に偽となった要素の手前の要素まで捨て、 残りの要素を配列として返します。 このメソッドは自身を破壊的に変更しません。
ブロックを評価して最初に偽となった要素の手前の要素まで捨て、
残りの要素を配列として返します。
このメソッドは自身を破壊的に変更しません。
ブロックを指定しなかった場合は、Enumerator を返します。
//emlist[例][ruby]{
a = [1, 2, 3, 4, 5, 0]
a.drop_while {|i| i < 3 } # => [3, 4, 5, 0]
# 変数aの値は変化しない
a # => [1, 2, 3, 4, 5, 0]
//}
@see Enumerable#drop_while, Array... -
Array
# max {|a , b| . . . } -> object | nil (19.0) -
ブロックの評価結果で各要素の大小判定を行い、最大の要素、もしくは最大の n 要素が降順に入った配列を返します。 引数を指定しない形式では要素が存在しなければ nil を返します。 引数を指定する形式では、空の配列を返します。
ブロックの評価結果で各要素の大小判定を行い、最大の要素、もしくは最大の
n 要素が降順に入った配列を返します。
引数を指定しない形式では要素が存在しなければ nil を返します。
引数を指定する形式では、空の配列を返します。
ブロックの値は、a > b のとき正、
a == b のとき 0、a < b のとき負の整数を、期待しています。
//emlist[例][ruby]{
[].max {|a, b| a <=> b } #=> nil
[].max(1) {|a, b| a <=> b } #=> []
ary = %w(albatross dog horse)
ary.ma... -
Array
# max(n) {|a , b| . . . } -> Array (19.0) -
ブロックの評価結果で各要素の大小判定を行い、最大の要素、もしくは最大の n 要素が降順に入った配列を返します。 引数を指定しない形式では要素が存在しなければ nil を返します。 引数を指定する形式では、空の配列を返します。
ブロックの評価結果で各要素の大小判定を行い、最大の要素、もしくは最大の
n 要素が降順に入った配列を返します。
引数を指定しない形式では要素が存在しなければ nil を返します。
引数を指定する形式では、空の配列を返します。
ブロックの値は、a > b のとき正、
a == b のとき 0、a < b のとき負の整数を、期待しています。
//emlist[例][ruby]{
[].max {|a, b| a <=> b } #=> nil
[].max(1) {|a, b| a <=> b } #=> []
ary = %w(albatross dog horse)
ary.ma... -
Array
# min {|a , b| . . . } -> object | nil (19.0) -
ブロックの評価結果で各要素の大小判定を行い、最小の要素、もしくは最小の n 要素が昇順で入った配列を返します。 引数を指定しない形式では要素が存在しなければ nil を返します。 引数を指定する形式では、空の配列を返します。
ブロックの評価結果で各要素の大小判定を行い、最小の要素、もしくは最小の
n 要素が昇順で入った配列を返します。
引数を指定しない形式では要素が存在しなければ nil を返します。
引数を指定する形式では、空の配列を返します。
ブロックの値は、a > b のとき正、a == b のとき 0、
a < b のとき負の整数を、期待しています。
//emlist[例][ruby]{
[].min {|a, b| a <=> b } #=> nil
[].min(1) {|a, b| a <=> b } #=> []
ary = %w(albatross dog horse)
ary.mi... -
Array
# min(n) {|a , b| . . . } -> Array (19.0) -
ブロックの評価結果で各要素の大小判定を行い、最小の要素、もしくは最小の n 要素が昇順で入った配列を返します。 引数を指定しない形式では要素が存在しなければ nil を返します。 引数を指定する形式では、空の配列を返します。
ブロックの評価結果で各要素の大小判定を行い、最小の要素、もしくは最小の
n 要素が昇順で入った配列を返します。
引数を指定しない形式では要素が存在しなければ nil を返します。
引数を指定する形式では、空の配列を返します。
ブロックの値は、a > b のとき正、a == b のとき 0、
a < b のとき負の整数を、期待しています。
//emlist[例][ruby]{
[].min {|a, b| a <=> b } #=> nil
[].min(1) {|a, b| a <=> b } #=> []
ary = %w(albatross dog horse)
ary.mi... -
Array
# pack(template) -> String (19.0) -
配列の内容を template で指定された文字列にしたがって、 バイナリとしてパックした文字列を返します。
配列の内容を template で指定された文字列にしたがって、
バイナリとしてパックした文字列を返します。
テンプレートは
型指定文字列とその長さ(省略時は1)を並べたものです。長さと
して * が指定された時は「残りのデータ全て」の長さを
表します。型指定文字は以下で述べる pack テンプレート文字列の通りです。
buffer が指定されていれば、バッファとして使って返値として返します。
もし template の最初にオフセット (@) が指定されていれば、
結果はオフセットの後ろから詰められます。
buffer の元の内容がオフセットより長ければ、
オフセットより後ろの部分は上... -
Array
# pack(template , buffer: String . new) -> String (19.0) -
配列の内容を template で指定された文字列にしたがって、 バイナリとしてパックした文字列を返します。
配列の内容を template で指定された文字列にしたがって、
バイナリとしてパックした文字列を返します。
テンプレートは
型指定文字列とその長さ(省略時は1)を並べたものです。長さと
して * が指定された時は「残りのデータ全て」の長さを
表します。型指定文字は以下で述べる pack テンプレート文字列の通りです。
buffer が指定されていれば、バッファとして使って返値として返します。
もし template の最初にオフセット (@) が指定されていれば、
結果はオフセットの後ろから詰められます。
buffer の元の内容がオフセットより長ければ、
オフセットより後ろの部分は上... -
Array
# take _ while -> Enumerator (19.0) -
配列の要素を順に偽になるまでブロックで評価します。 最初に偽になった要素の手前の要素までを配列として返します。 このメソッドは自身を破壊的に変更しません。
配列の要素を順に偽になるまでブロックで評価します。
最初に偽になった要素の手前の要素までを配列として返します。
このメソッドは自身を破壊的に変更しません。
//emlist[例][ruby]{
a = [1, 2, 3, 4, 5, 0]
a.take_while {|i| i < 3 } # => [1, 2]
//}
ブロックを省略した場合は Enumerator を返します。
@see Enumerable#take_while -
Array
# take _ while {|element| . . . } -> Array (19.0) -
配列の要素を順に偽になるまでブロックで評価します。 最初に偽になった要素の手前の要素までを配列として返します。 このメソッドは自身を破壊的に変更しません。
配列の要素を順に偽になるまでブロックで評価します。
最初に偽になった要素の手前の要素までを配列として返します。
このメソッドは自身を破壊的に変更しません。
//emlist[例][ruby]{
a = [1, 2, 3, 4, 5, 0]
a.take_while {|i| i < 3 } # => [1, 2]
//}
ブロックを省略した場合は Enumerator を返します。
@see Enumerable#take_while -
Array
# to _ a -> Array (19.0) -
self を返します。ただし、Array のサブクラスのインスタンスに対して呼ばれた時は、 自身を Array に変換したものを返します。
self を返します。ただし、Array のサブクラスのインスタンスに対して呼ばれた時は、
自身を Array に変換したものを返します。
//emlist[例][ruby]{
class SubArray < Array; end
ary1 = Array([1, 2, 3, 4])
ary2 = SubArray([1, 2, 3, 4])
ary1.to_a # => [1, 2, 3, 4]
ary1.to_a.class # => Array
ary2.to_a # => [1, 2, 3, 4]
ary2.to_a.class # => Ar... -
Array
# to _ ary -> self (19.0) -
self をそのまま返します。
self をそのまま返します。
//emlist[例][ruby]{
class SubArray < Array; end
ary1 = Array([1, 2, 3, 4])
ary2 = SubArray([1, 2, 3, 4])
ary1.to_ary # => [1, 2, 3, 4]
ary1.to_ary.class # => Array
ary2.to_ary # => [1, 2, 3, 4]
ary2.to_ary.class # => SubArray
//}
@see Array#to_a -
Array
. [](*item) -> Array (19.0) -
引数 item を要素として持つ配列を生成して返します。
引数 item を要素として持つ配列を生成して返します。
Array のサブクラスを作成したしたときに、そのサブクラスのインスタンスを作成
しやすくするために用意されている。
@param item 配列の要素を指定します。
//emlist[例][ruby]{
Array[1, 2, 3] #=> [1, 2, 3]
class SubArray < Array
# ...
end
p SubArray[1, 2, 3] # => [1, 2, 3]
//} -
BasicObject (19.0)
-
特殊な用途のために意図的にほとんど何も定義されていないクラスです。 Objectクラスの親にあたります。Ruby 1.9 以降で導入されました。
特殊な用途のために意図的にほとんど何も定義されていないクラスです。
Objectクラスの親にあたります。Ruby 1.9 以降で導入されました。
=== 性質
BasicObject クラスは Object クラスからほとんどのメソッドを取り除いたクラスです。
Object クラスは様々な便利なメソッドや Kernel から受け継いだ関数的メソッド
を多数有しています。
これに対して、 BasicObject クラスはオブジェクトの同一性を識別したりメソッドを呼んだりする
最低限の機能の他は一切の機能を持っていません。
=== 用途
基本的にはほぼすべてのクラスの親は Object と考... -
BasicObject
# !=(other) -> bool (19.0) -
オブジェクトが other と等しくないことを判定します。
オブジェクトが other と等しくないことを判定します。
デフォルトでは self == other を評価した後に結果を論理否定して返します。
このため、サブクラスで BasicObject#== を再定義しても != とは自動的に整合性が
とれるようになっています。
ただし、 BasicObject#!= 自身や BasicObject#! を再定義した際には、ユーザーの責任で
整合性を保たなくてはなりません。
このメソッドは主に論理式の評価に伴って副作用を引き起こすことを目的に
再定義するものと想定されています。
@param other 比較対象となるオブジェクト
@see ... -
BasicObject
# ==(other) -> bool (19.0) -
オブジェクトが other と等しければ真を、さもなくば偽を返します。
オブジェクトが other と等しければ真を、さもなくば偽を返します。
このメソッドは各クラスの性質に合わせて、サブクラスで再定義するべきです。
多くの場合、オブジェクトの内容が等しければ真を返すように (同値性を判定するように) 再定義
することが期待されています。
デフォルトでは Object#equal? と同じオブジェクトの同一性になっています。
@param other 比較対象となるオブジェクト
@return other が self と同値であれば真、さもなくば偽
//emlist[例][ruby]{
class Person < BasicObject
def i... -
BasicObject
# instance _ eval {|obj| . . . } -> object (19.0) -
オブジェクトのコンテキストで文字列 expr またはオブジェクト自身をブロックパラメータとするブロックを 評価してその結果を返します。
オブジェクトのコンテキストで文字列 expr またはオブジェクト自身をブロックパラメータとするブロックを
評価してその結果を返します。
オブジェクトのコンテキストで評価するとは評価中の self をそのオブジェクトにして実行するということです。
また、文字列 expr やブロック中でメソッドを定義すればそのオブジェクトの特異メソッドが定義されます。
ただし、ローカル変数だけは、文字列 expr の評価では instance_eval の外側のスコープと、ブロックの評価ではそのブロックの外側のスコープと、共有します。
メソッド定義の中で instance_eval でメソッドを定義した場... -
BasicObject
# instance _ eval(expr , filename = "(eval)" , lineno = 1) -> object (19.0) -
オブジェクトのコンテキストで文字列 expr またはオブジェクト自身をブロックパラメータとするブロックを 評価してその結果を返します。
オブジェクトのコンテキストで文字列 expr またはオブジェクト自身をブロックパラメータとするブロックを
評価してその結果を返します。
オブジェクトのコンテキストで評価するとは評価中の self をそのオブジェクトにして実行するということです。
また、文字列 expr やブロック中でメソッドを定義すればそのオブジェクトの特異メソッドが定義されます。
ただし、ローカル変数だけは、文字列 expr の評価では instance_eval の外側のスコープと、ブロックの評価ではそのブロックの外側のスコープと、共有します。
メソッド定義の中で instance_eval でメソッドを定義した場... -
CGI
:: HtmlExtension # caption(align = nil) -> String (19.0) -
caption 要素を生成します。
caption 要素を生成します。
ブロックを与えると、ブロックを評価した結果が内容になります。
@param align 配置を文字列で指定します。(top, bottom, left right が指定可能です)
属性をハッシュで指定することもできます。
例:
caption("left") { "Capital Cities" }
# => <CAPTION ALIGN=\"left\">Capital Cities</CAPTION> -
CGI
:: HtmlExtension # caption(align = nil) { . . . } -> String (19.0) -
caption 要素を生成します。
caption 要素を生成します。
ブロックを与えると、ブロックを評価した結果が内容になります。
@param align 配置を文字列で指定します。(top, bottom, left right が指定可能です)
属性をハッシュで指定することもできます。
例:
caption("left") { "Capital Cities" }
# => <CAPTION ALIGN=\"left\">Capital Cities</CAPTION> -
CGI
:: Session . new(request , option = {}) -> CGI :: Session (19.0) -
セッションオブジェクトを新しく作成し返します。
セッションオブジェクトを新しく作成し返します。
@param request CGI のインスタンスを指定します。
@param option ハッシュを指定することができます。
以下の文字列が option のキーとして認識されます。
: session_key
クッキーと <FORM type=hidden> の name として使われます。
(default: "_session_id")
: session_id
セッション ID として使われます。
デフォルトのデータベースである FileStore を用いる場合,
値は英数字だけからなる文字列で無けれ... -
CSV
# convert {|field , field _ info| . . . } (19.0) -
引数 name で指定した変換器かブロックに各フィールドを渡して文字列から別 のオブジェクトへと変換します。
引数 name で指定した変換器かブロックに各フィールドを渡して文字列から別
のオブジェクトへと変換します。
引数 name を指定した場合は、組み込みの CSV::Converters を変換器
として利用するために使います。また、独自の変換器を追加することもできま
す。
ブロックパラメータを一つ受け取るブロックを与えた場合は、そのブロックは
フィールドを受け取ります。ブロックパラメータを二つ受け取るブロックを与
えた場合は、そのブロックは、フィールドと CSV::FieldInfo のインス
タンスを受け取ります。ブロックは変換後の値かフィールドそのものを返さな
ければなりません。
... -
CSV
# convert {|field| . . . } (19.0) -
引数 name で指定した変換器かブロックに各フィールドを渡して文字列から別 のオブジェクトへと変換します。
引数 name で指定した変換器かブロックに各フィールドを渡して文字列から別
のオブジェクトへと変換します。
引数 name を指定した場合は、組み込みの CSV::Converters を変換器
として利用するために使います。また、独自の変換器を追加することもできま
す。
ブロックパラメータを一つ受け取るブロックを与えた場合は、そのブロックは
フィールドを受け取ります。ブロックパラメータを二つ受け取るブロックを与
えた場合は、そのブロックは、フィールドと CSV::FieldInfo のインス
タンスを受け取ります。ブロックは変換後の値かフィールドそのものを返さな
ければなりません。
... -
CSV
# convert(name) (19.0) -
引数 name で指定した変換器かブロックに各フィールドを渡して文字列から別 のオブジェクトへと変換します。
引数 name で指定した変換器かブロックに各フィールドを渡して文字列から別
のオブジェクトへと変換します。
引数 name を指定した場合は、組み込みの CSV::Converters を変換器
として利用するために使います。また、独自の変換器を追加することもできま
す。
ブロックパラメータを一つ受け取るブロックを与えた場合は、そのブロックは
フィールドを受け取ります。ブロックパラメータを二つ受け取るブロックを与
えた場合は、そのブロックは、フィールドと CSV::FieldInfo のインス
タンスを受け取ります。ブロックは変換後の値かフィールドそのものを返さな
ければなりません。
... -
CSV
:: Row # to _ csv -> String (19.0) -
自身を CSV な文字列として返します。ヘッダは使用しません。
自身を CSV な文字列として返します。ヘッダは使用しません。
//emlist[例][ruby]{
require "csv"
row = CSV::Row.new(["header1", "header2"], [1, 2])
row.to_csv # => "1,2\n"
row.to_csv( {col_sep: "|", row_sep: "<br>"} ) # => "1|2<br>"
//} -
CSV
:: Row # to _ s -> String (19.0) -
自身を CSV な文字列として返します。ヘッダは使用しません。
自身を CSV な文字列として返します。ヘッダは使用しません。
//emlist[例][ruby]{
require "csv"
row = CSV::Row.new(["header1", "header2"], [1, 2])
row.to_csv # => "1,2\n"
row.to_csv( {col_sep: "|", row_sep: "<br>"} ) # => "1|2<br>"
//} -
Class
# inherited(subclass) -> () (19.0) -
クラスのサブクラスが定義された時、新しく生成されたサブクラスを引数 にインタプリタから呼び出されます。このメソッドが呼ばれるタイミングは クラス定義文の実行直前です。
クラスのサブクラスが定義された時、新しく生成されたサブクラスを引数
にインタプリタから呼び出されます。このメソッドが呼ばれるタイミングは
クラス定義文の実行直前です。
@param subclass プログラム内で新たに定義された自身のサブクラスです。
//emlist[例][ruby]{
class Foo
def Foo.inherited(subclass)
puts "class \"#{self}\" was inherited by \"#{subclass}\""
end
end
class Bar < Foo
puts "executing class... -
Class
# superclass -> Class | nil (19.0) -
自身のスーパークラスを返します。
自身のスーパークラスを返します。
//emlist[例][ruby]{
File.superclass #=> IO
IO.superclass #=> Object
class Foo; end
class Bar < Foo; end
Bar.superclass #=> Foo
Object.superclass #=> BasicObject
//}
ただし BasicObject.superclass は nil を返します。
//emlist[例][ruby]{
BasicObject.supercl... -
ERB
:: Util . # h(s) -> String (19.0) -
文字列 s を HTML用にエスケープした文字列を返します。
文字列 s を HTML用にエスケープした文字列を返します。
文字列 s 中に含まれる &"<> を、実体参照 & " < > にそれぞれ変更した文字列を返します
(CGI.escapeHTMLとほぼ同じです)。
@param s HTMLエスケープを行う文字列
//emlist[例][ruby]{
require "erb"
include ERB::Util
puts html_escape("is a > 0 & a < 10?")
# is a > 0 & a < 10?
//} -
ERB
:: Util . # html _ escape(s) -> String (19.0) -
文字列 s を HTML用にエスケープした文字列を返します。
文字列 s を HTML用にエスケープした文字列を返します。
文字列 s 中に含まれる &"<> を、実体参照 & " < > にそれぞれ変更した文字列を返します
(CGI.escapeHTMLとほぼ同じです)。
@param s HTMLエスケープを行う文字列
//emlist[例][ruby]{
require "erb"
include ERB::Util
puts html_escape("is a > 0 & a < 10?")
# is a > 0 & a < 10?
//} -
Encoding
:: Converter # insert _ output(string) -> nil (19.0) -
変換器内のバッファに文字列を挿入します。 バッファに保持された文字列は、次の変換時の変換結果と一緒に返されます。
変換器内のバッファに文字列を挿入します。
バッファに保持された文字列は、次の変換時の変換結果と一緒に返されます。
変換先がステートフルなエンコーディングであった場合、
挿入された文字列は状態に基づいて変換され、状態を更新します。
このメソッドは変換に際してエラーが発生した際にのみ利用されるべきです。
@param string 挿入する文字列
//emlist[][ruby]{
ec = Encoding::Converter.new("utf-8", "iso-8859-1")
src = "HIRAGANA LETTER A is \u{3042}."
dst = ""
p ec.... -
Encoding
:: Converter # replacement=(string) (19.0) -
置換文字を設定します。
置換文字を設定します。
@param string 変換器に設定する置換文字
//emlist[][ruby]{
ec = Encoding::Converter.new("utf-8", "us-ascii", :undef => :replace)
ec.replacement = "<undef>"
p ec.convert("a \u3042 b") #=> "a <undef> b"
//} -
Enumerable
# chunk _ while {|elt _ before , elt _ after| . . . } -> Enumerator (19.0) -
要素を前から順にブロックで評価し、その結果によって要素をチャンクに分け た(グループ化した)要素を持つEnumerator を返します。
要素を前から順にブロックで評価し、その結果によって要素をチャンクに分け
た(グループ化した)要素を持つEnumerator を返します。
隣り合う値をブロックパラメータ elt_before、elt_after に渡し、ブロックの
評価値が偽になる所でチャンクを区切ります。
ブロックは self の長さ - 1 回呼び出されます。
@return チャンクごとの配列をブロックパラメータに渡す Enumerator
を返します。eachメソッドは以下のように呼び出します。
//emlist{
enum.chunk_while { |elt_before, elt_af... -
Enumerable
# drop _ while -> Enumerator (19.0) -
ブロックを評価して最初に偽となった要素の手前の要素まで捨て、 残りの要素を配列として返します。
ブロックを評価して最初に偽となった要素の手前の要素まで捨て、
残りの要素を配列として返します。
ブロックを指定しなかった場合は、Enumerator を返します。
//emlist[例][ruby]{
a = [1, 2, 3, 4, 5, 0]
a.drop_while {|i| i < 3 } # => [3, 4, 5, 0]
//} -
Enumerable
# drop _ while {|element| . . . } -> Array (19.0) -
ブロックを評価して最初に偽となった要素の手前の要素まで捨て、 残りの要素を配列として返します。
ブロックを評価して最初に偽となった要素の手前の要素まで捨て、
残りの要素を配列として返します。
ブロックを指定しなかった場合は、Enumerator を返します。
//emlist[例][ruby]{
a = [1, 2, 3, 4, 5, 0]
a.drop_while {|i| i < 3 } # => [3, 4, 5, 0]
//} -
Enumerable
# lazy -> Enumerator :: Lazy (19.0) -
自身を lazy な Enumerator に変換したものを返します。
自身を lazy な Enumerator に変換したものを返します。
この Enumerator は、以下のメソッドが遅延評価を行う (つまり、配列ではな
くEnumeratorを返す) ように再定義されています。
* map/collect
* flat_map/collect_concat
* select/find_all
* reject
* grep
* take, take_while
* drop, drop_while
* zip (※一貫性のため、ブロックを渡さないケースのみlazy)
* cycle (※一貫性のため、ブロックを渡さないケースのみl... -
Enumerable
# max {|a , b| . . . } -> object | nil (19.0) -
ブロックの評価結果で各要素の大小判定を行い、最大の要素、もしくは最大の n 要素が入った降順の配列を返します。 引数を指定しない形式では要素が存在しなければ nil を返します。 引数を指定する形式では、空の配列を返します。
ブロックの評価結果で各要素の大小判定を行い、最大の要素、もしくは最大の
n 要素が入った降順の配列を返します。
引数を指定しない形式では要素が存在しなければ nil を返します。
引数を指定する形式では、空の配列を返します。
ブロックの値は、a > b のとき正、
a == b のとき 0、a < b のとき負の整数を、期待しています。
該当する要素が複数存在する場合、どの要素を返すかは不定です。
@param n 取得する要素数。
@raise TypeError ブロックが整数以外を返したときに発生します。
//emlist[例][ruby]{
class Person
... -
Enumerable
# max(n) {|a , b| . . . } -> Array (19.0) -
ブロックの評価結果で各要素の大小判定を行い、最大の要素、もしくは最大の n 要素が入った降順の配列を返します。 引数を指定しない形式では要素が存在しなければ nil を返します。 引数を指定する形式では、空の配列を返します。
ブロックの評価結果で各要素の大小判定を行い、最大の要素、もしくは最大の
n 要素が入った降順の配列を返します。
引数を指定しない形式では要素が存在しなければ nil を返します。
引数を指定する形式では、空の配列を返します。
ブロックの値は、a > b のとき正、
a == b のとき 0、a < b のとき負の整数を、期待しています。
該当する要素が複数存在する場合、どの要素を返すかは不定です。
@param n 取得する要素数。
@raise TypeError ブロックが整数以外を返したときに発生します。
//emlist[例][ruby]{
class Person
... -
Enumerable
# min {|a , b| . . . } -> object | nil (19.0) -
ブロックの評価結果で各要素の大小判定を行い、最小の要素、もしくは最小の n 要素が昇順で入った配列を返します。 引数を指定しない形式では要素が存在しなければ nil を返します。 引数を指定する形式では、空の配列を返します。
ブロックの評価結果で各要素の大小判定を行い、最小の要素、もしくは最小の
n 要素が昇順で入った配列を返します。
引数を指定しない形式では要素が存在しなければ nil を返します。
引数を指定する形式では、空の配列を返します。
ブロックの値は、a > b のとき正、a == b のとき 0、
a < b のとき負の整数を、期待しています。
該当する要素が複数存在する場合、どの要素を返すかは不定です。
@param n 取得する要素数。
//emlist[例][ruby]{
class Person
attr_reader :name, :age
def initialize... -
Enumerable
# min(n) {|a , b| . . . } -> Array (19.0) -
ブロックの評価結果で各要素の大小判定を行い、最小の要素、もしくは最小の n 要素が昇順で入った配列を返します。 引数を指定しない形式では要素が存在しなければ nil を返します。 引数を指定する形式では、空の配列を返します。
ブロックの評価結果で各要素の大小判定を行い、最小の要素、もしくは最小の
n 要素が昇順で入った配列を返します。
引数を指定しない形式では要素が存在しなければ nil を返します。
引数を指定する形式では、空の配列を返します。
ブロックの値は、a > b のとき正、a == b のとき 0、
a < b のとき負の整数を、期待しています。
該当する要素が複数存在する場合、どの要素を返すかは不定です。
@param n 取得する要素数。
//emlist[例][ruby]{
class Person
attr_reader :name, :age
def initialize... -
Enumerable
# sort -> [object] (19.0) -
全ての要素を昇順にソートした配列を生成して返します。
全ての要素を昇順にソートした配列を生成して返します。
ブロックなしのときは <=> メソッドを要素に対して呼び、
その結果をもとにソートします。
<=> 以外でソートしたい場合は、ブロックを指定します。
この場合、ブロックの評価結果を元にソートします。
ブロックの値は、a > b のとき正、a == b のとき 0、
a < b のとき負の整数を、期待しています。
ブロックが整数以外を返したときは例外 TypeError が発生します。
Enumerable#sort は安定ではありません (unstable sort)。
安定なソートが必要な場合は Enumerable#sort_b... -
Enumerable
# sort {|a , b| . . . } -> [object] (19.0) -
全ての要素を昇順にソートした配列を生成して返します。
全ての要素を昇順にソートした配列を生成して返します。
ブロックなしのときは <=> メソッドを要素に対して呼び、
その結果をもとにソートします。
<=> 以外でソートしたい場合は、ブロックを指定します。
この場合、ブロックの評価結果を元にソートします。
ブロックの値は、a > b のとき正、a == b のとき 0、
a < b のとき負の整数を、期待しています。
ブロックが整数以外を返したときは例外 TypeError が発生します。
Enumerable#sort は安定ではありません (unstable sort)。
安定なソートが必要な場合は Enumerable#sort_b... -
Enumerable
# take _ while -> Enumerator (19.0) -
Enumerable オブジェクトの要素を順に偽になるまでブロックで評価します。 最初に偽になった要素の手前の要素までを配列として返します。
Enumerable オブジェクトの要素を順に偽になるまでブロックで評価します。
最初に偽になった要素の手前の要素までを配列として返します。
//emlist[例][ruby]{
e = [1, 2, 3, 4, 5, 0].each
e.take_while {|i| i < 3 } # => [1, 2]
//}
ブロックを省略した場合は Enumerator を返します。
@see Array#take_while -
Enumerable
# take _ while {|element| . . . } -> Array (19.0) -
Enumerable オブジェクトの要素を順に偽になるまでブロックで評価します。 最初に偽になった要素の手前の要素までを配列として返します。
Enumerable オブジェクトの要素を順に偽になるまでブロックで評価します。
最初に偽になった要素の手前の要素までを配列として返します。
//emlist[例][ruby]{
e = [1, 2, 3, 4, 5, 0].each
e.take_while {|i| i < 3 } # => [1, 2]
//}
ブロックを省略した場合は Enumerator を返します。
@see Array#take_while