別のキーワード
ライブラリ
- ビルトイン (400)
- mkmf (12)
- optparse (144)
- rake (24)
-
ripper
/ filter (12)
クラス
- Array (18)
- Complex (18)
- Enumerator (18)
-
Enumerator
:: Lazy (24) - Float (24)
- Numeric (80)
- Object (24)
- OptionParser (144)
-
Rake
:: Application (12) - Range (12)
-
Ripper
:: Filter (12) - Struct (52)
モジュール
- Enumerable (96)
- Kernel (12)
-
Rake
:: TaskManager (12) -
RubyVM
:: AbstractSyntaxTree (10)
キーワード
- GC (12)
- Location (12)
-
NEWS for Ruby 2
. 1 . 0 (12) -
NEWS for Ruby 2
. 2 . 0 (11) -
NEWS for Ruby 2
. 5 . 0 (8) -
NEWS for Ruby 3
. 1 . 0 (4) - [] (12)
- chunk (12)
-
create
_ makefile (12) - finite? (30)
- infinite? (30)
- initialize (12)
-
initialize
_ copy (12) - inject (36)
-
keyword
_ init? (4) - lookup (12)
-
minitest
/ unit (1) - new (36)
- of (10)
-
on
_ head (12) -
on
_ tail (12) - parse (36)
- parse! (12)
- produce (6)
-
rdoc
/ parser / c (12) - reduce (36)
-
ruby 1
. 8 . 4 feature (12) -
ruby
_ init (12) - size (24)
-
slice
_ before (12) - socket (12)
- step (62)
- sum (42)
- summarize (24)
-
summary
_ indent (12) -
summary
_ indent= (12) -
summary
_ width (12) -
summary
_ width= (12) -
to
_ a (12)
検索結果
先頭5件
-
Object
# initialize(*args , &block) -> object (6106.0) -
ユーザ定義クラスのオブジェクト初期化メソッド。
...ルトの動作ではなにもしません。
initialize には
Class#new に与えられた引数がそのまま渡されます。
サブクラスではこのメソッドを必要に応じて再定義されること
が期待されています。
initialize という名前のメソッドは自......。
//emlist[][ruby]{
class Foo
def initialize name
puts "initialize Foo"
@name = name
end
end
class Bar < Foo
def initialize name, pass
puts "initialize Bar"
super name
@pass = pass
end
end
it = Bar.new('myname','0500')
p it
#=> initialize Bar
# initialize Foo
# #... -
minitest
/ unit (6012.0) -
ユニットテストを行うためのライブラリです。
...ユニットテストを行うためのライブラリです。
=== 使い方
minitest/unit は以下のように使います。
テスト対象のソース (foo.rb) を用意します。
class Foo
def foo
"foo"
end
def bar
"foo"
end
end
次にユニットテス......teardown メソッドが必ず実行されます。
minitest/unit を Kernel.#require しただけではテストが自動実行されません。
require 'minitest/unit'
require 'foo'
MiniTest::Unit.autorun
class TestFoo < MiniTest::Unit::TestCase
def setup
@foo = Foo.new......もできます。
require 'minitest/unit'
require 'minitest/autorun'
require 'foo'
# 以下略
テストを実行するには上で用意した test_foo.rb を実行します。
デフォルトではすべてのテストが実行されます。
$ ruby test_foo.rb
Loaded suite test_fo... -
ruby 1
. 8 . 4 feature (4505.0) -
ruby 1.8.4 feature ruby 1.8.4 での ruby 1.8.3 からの変更点です。
...ruby 1.8.4 feature
ruby 1.8.4 での ruby 1.8.3 からの変更点です。
掲載方針
*バグ修正の影響も含めて動作が変わるものを収録する。
*単にバグを直しただけのものは収録しない。
*ライブラリへの単なる定数の追加は収録しない。......以下は各変更点に付けるべきタグです。
記号について(特に重要なものは大文字(主観))
# * カテゴリ
# * [ruby]: ruby インタプリタの変更
# * [api]: 拡張ライブラリ API
# * [lib]: ライブラリ
* レベル
* [bug]: バグ修正
* [new]:......* ((<ruby 1.8.4 feature/Module#const_missing [bug]>))
* ((<ruby 1.8.4 feature/IO [bug]>))
* ((<ruby 1.8.4 feature/添付ライブラリ>))
* ((<ruby 1.8.4 feature/"Ruby/Tk">))
* ((<ruby 1.8.4 feature/REXML [compat]>))
* ((<ruby 1.8.4 feature/TCPSocket#initialize [bug]>))
* ((<ruby 1.8.4... -
NEWS for Ruby 3
. 1 . 0 (3243.0) -
NEWS for Ruby 3.1.0 このドキュメントは前回リリース以降のバグ修正を除くユーザーに影響のある機能の変更のリストです。
...NEWS for Ruby 3.1.0
このドキュメントは前回リリース以降のバグ修正を除くユーザーに影響のある機能の変更のリストです。
それぞれのエントリーは参照情報があるため短いです。
十分な情報と共に書かれた全ての変更のリス......。単一代入では、Rubyは左から右への評価順序を使用します。このコードでは、
//emlist[][ruby]{
foo[0] = bar
//}
* 次の評価順序になります。
//emlist{
1. `foo`
2. `bar`
3. `[]=` called on the result of `foo`
//}
* Ruby 3.1.0より前は、多重......することができます。 17795
* Struct
* 新規メソッド
* StructClass#keyword_init? が追加されました。 18008
* 変更されたメソッド
* Struct#initialize はキーワード引数のみを渡すと警告されるようになりました。ハッシュ... -
NEWS for Ruby 2
. 1 . 0 (3183.0) -
NEWS for Ruby 2.1.0 このドキュメントは前回リリース以降のバグ修正を除くユーザーに影響のある機能の変更のリストです。
...NEWS for Ruby 2.1.0
このドキュメントは前回リリース以降のバグ修正を除くユーザーに影響のある機能の変更のリストです。
それぞれのエントリーは参照情報があるため短いです。
十分な情報と共に書かれた全ての変更のリス......トは ChangeLog ファイルか bugs.ruby-lang.org の issue を参照してください。
== 2.0.0 以降の変更
=== 言語仕様の変更
* キーワード引数のデフォルト値が省略可能になりました。これらの「必須キーワード引数」は呼び出し時に明......* RUBY_GC_HEAP_INIT_SLOTS
* RUBY_GC_HEAP_FREE_SLOTS
* RUBY_GC_HEAP_GROWTH_FACTOR
* RUBY_GC_HEAP_GROWTH_MAX_SLOTS
* RUBY_GC_MALLOC_LIMIT_MAX
* RUBY_GC_MALLOC_LIMIT_GROWTH_FACTOR
* RUBY_GC_OLDMALLOC_LIMIT
* RUBY_GC_OLDMALLOC_LIMIT_MAX
* RUBY_GC_OLD... -
NEWS for Ruby 2
. 5 . 0 (3141.0) -
NEWS for Ruby 2.5.0 このドキュメントは前回リリース以降のバグ修正を除くユーザーに影響のある機能の変更のリストです。
...NEWS for Ruby 2.5.0
このドキュメントは前回リリース以降のバグ修正を除くユーザーに影響のある機能の変更のリストです。
それぞれのエントリーは参照情報があるため短いです。
十分な情報と共に書かれた全ての変更のリス......トは ChangeLog ファイルか bugs.ruby-lang.org の issue を参照してください。
== 2.4.0 以降の変更
=== 言語仕様の変更
* トップレベルの定数参照を削除しました 11547
* do/end ブロック内部で rescue/else/ensure を書けるようになりまし......13780
* String#undump を追加。String#dumpで出力した文字列を元に戻します。12275
* Struct
* Struct.new は :keyword_init というキーワード引数を受け取り、メンバーをキーワード引数で初期化できるようになりました。
11925... -
RubyVM
:: AbstractSyntaxTree . of(proc) -> RubyVM :: AbstractSyntaxTree :: Node (3118.0) -
引数 proc に渡したProcやメソッドオブジェクトの抽象構文木を返します。
...す。
//emlist[][ruby]{
pp RubyVM::AbstractSyntaxTree.of(proc {1 + 2})
# => (SCOPE@2:38-2:45
# tbl: []
# args: nil
# body:
# (OPCALL@2:39-2:44 (LIT@2:39-2:40 1) :+
# (LIST@2:43-2:44 (LIT@2:43-2:44 2) nil)))
def hello
puts "hello, world"
end
pp RubyVM::AbstractSyntaxT......))
# => (SCOPE@5:0-7:3
# tbl: []
# args:
# (ARGS@5:9-5:9
# pre_num: 0
# pre_init: nil
# opt: nil
# first_post: nil
# post_num: 0
# post_init: nil
# rest: nil
# kw: nil
# kwrest: nil
# block: nil)
# body:
#... -
RubyVM
:: AbstractSyntaxTree . of(proc , keep _ script _ lines: false , error _ tolerant: false , keep _ tokens: false) -> RubyVM :: AbstractSyntaxTree :: Node (3118.0) -
引数 proc に渡したProcやメソッドオブジェクトの抽象構文木を返します。
...す。
//emlist[][ruby]{
pp RubyVM::AbstractSyntaxTree.of(proc {1 + 2})
# => (SCOPE@2:38-2:45
# tbl: []
# args: nil
# body:
# (OPCALL@2:39-2:44 (LIT@2:39-2:40 1) :+
# (LIST@2:43-2:44 (LIT@2:43-2:44 2) nil)))
def hello
puts "hello, world"
end
pp RubyVM::AbstractSyntaxT......))
# => (SCOPE@5:0-7:3
# tbl: []
# args:
# (ARGS@5:9-5:9
# pre_num: 0
# pre_init: nil
# opt: nil
# first_post: nil
# post_num: 0
# post_init: nil
# rest: nil
# kw: nil
# kwrest: nil
# block: nil)
# body:
#... -
NEWS for Ruby 2
. 2 . 0 (3045.0) -
NEWS for Ruby 2.2.0 このドキュメントは前回リリース以降のバグ修正を除くユーザーに影響のある機能の変更のリストです。
...NEWS for Ruby 2.2.0
このドキュメントは前回リリース以降のバグ修正を除くユーザーに影響のある機能の変更のリストです。
それぞれのエントリーは参照情報があるため短いです。
十分な情報と共に書かれた全ての変更のリス......トは ChangeLog ファイルか bugs.ruby-lang.org の issue を参照してください。
== 2.1.0 以降の変更
=== 言語仕様の変更
* nil/true/false
* nil/true/false はフリーズされました 8923
* Hash リテラル
* 後ろにコロンのあるシンボルをキー......ttyprint
* PrettyPrint#first? は削除しました。
* lib/minitest/*.rb
* mintest 5 と衝突するので削除しました。9711
* lib/test/**/*.rb
* minitest 5 と衝突するので削除しました。minitest 4 の単なるラッパーだった。9711
* uri
* 3986... -
GC (418.0)
-
GC は Ruby インタプリタの「ゴミ集め(Garbage Collection)」を制御 するモジュールです。
...GC は Ruby インタプリタの「ゴミ集め(Garbage Collection)」を制御
するモジュールです。
=== GCのチューニングについて
Ruby 2.1ではRGenGCと呼ばれる新たなGCメカニズムが導入されました。
それにともない、以下の環境変数が導入......効果はRubyの起動時のみ有効です(つまりrubyを動かしている
途中で変更することはできません)。
====[a:tuning_gc] チューニングのための環境変数
* RUBY_GC_HEAP_INIT_SLOTS (default: 10000) - 最初に確保されるスロット数。
* RUBY_GC_HEAP_FREE......やす。
* RUBY_GC_HEAP_GROWTH_FACTOR (default: 1.8) - Rubyではスロットを増やすための
メモリ確保をするたびに確保するサイズをこの係数で大きくする。
つまり全スロット数は指数的に増大する。これは動かしているRubyプログラ... -
Struct
. new(*args , keyword _ init: nil) -> Class (187.0) -
Struct クラスに新しいサブクラスを作って、それを返します。
...れを返します。
サブクラスでは構造体のメンバに対するアクセスメソッドが定義されています。
//emlist[例][ruby]{
dog = Struct.new("Dog", :name, :age)
fred = dog.new("fred", 5)
fred.age = 6
printf "name:%s age:%d", fred.name, fred.age
#=> "name:fred age:6" を......ための可変長引数。String または Symbol を指定します。
@param keyword_init true を指定すると、キーワード引数で初期化する構造体を定義します。
Ruby 3.1 では互換性に影響のある使い方をしたときに警告が出るため......従来の挙動を期待する構造体には明示的に false を指定してください。
//emlist[例][ruby]{
Point = Struct.new(:x, :y, keyword_init: true) # => Point(keyword_init: true)
Point.new(x: 1, y: 2) # => #<struct Point x=1, y=2>
Point.new(x: 1) # => #<struct Point x=1, y=ni... -
Struct
. new(*args , keyword _ init: nil) {|subclass| block } -> Class (187.0) -
Struct クラスに新しいサブクラスを作って、それを返します。
...れを返します。
サブクラスでは構造体のメンバに対するアクセスメソッドが定義されています。
//emlist[例][ruby]{
dog = Struct.new("Dog", :name, :age)
fred = dog.new("fred", 5)
fred.age = 6
printf "name:%s age:%d", fred.name, fred.age
#=> "name:fred age:6" を......ための可変長引数。String または Symbol を指定します。
@param keyword_init true を指定すると、キーワード引数で初期化する構造体を定義します。
Ruby 3.1 では互換性に影響のある使い方をしたときに警告が出るため......従来の挙動を期待する構造体には明示的に false を指定してください。
//emlist[例][ruby]{
Point = Struct.new(:x, :y, keyword_init: true) # => Point(keyword_init: true)
Point.new(x: 1, y: 2) # => #<struct Point x=1, y=2>
Point.new(x: 1) # => #<struct Point x=1, y=ni... -
Struct
. new(*args , keyword _ init: nil) -> Class (163.0) -
Struct クラスに新しいサブクラスを作って、それを返します。
...れを返します。
サブクラスでは構造体のメンバに対するアクセスメソッドが定義されています。
//emlist[例][ruby]{
dog = Struct.new("Dog", :name, :age)
fred = dog.new("fred", 5)
fred.age = 6
printf "name:%s age:%d", fred.name, fred.age
#=> "name:fred age:6" を......のが無難です。
@param args 構造体を定義するための可変長引数。String または Symbol を指定します。
@param keyword_init 構造体クラスのインスタンスを生成する際に、キーワード引数を使用するかどうかを指定します。値の意味は......: キーワード引数のみ使用できる
* false: キーワード引数は使用できず、位置引数のみ使用できる
//emlist[例][ruby]{
Point1 = Struct.new(:x, :y)
Point1.new(1, 2) # => #<struct Point1 x=1, y=2>
Point1.new(x: 1, y: 2) # => #<struct Point1 x=1, y=... -
Struct
. new(*args , keyword _ init: nil) {|subclass| block } -> Class (163.0) -
Struct クラスに新しいサブクラスを作って、それを返します。
...れを返します。
サブクラスでは構造体のメンバに対するアクセスメソッドが定義されています。
//emlist[例][ruby]{
dog = Struct.new("Dog", :name, :age)
fred = dog.new("fred", 5)
fred.age = 6
printf "name:%s age:%d", fred.name, fred.age
#=> "name:fred age:6" を......のが無難です。
@param args 構造体を定義するための可変長引数。String または Symbol を指定します。
@param keyword_init 構造体クラスのインスタンスを生成する際に、キーワード引数を使用するかどうかを指定します。値の意味は......: キーワード引数のみ使用できる
* false: キーワード引数は使用できず、位置引数のみ使用できる
//emlist[例][ruby]{
Point1 = Struct.new(:x, :y)
Point1.new(1, 2) # => #<struct Point1 x=1, y=2>
Point1.new(x: 1, y: 2) # => #<struct Point1 x=1, y=... -
Struct
. new(*args , keyword _ init: false) -> Class (157.0) -
Struct クラスに新しいサブクラスを作って、それを返します。
...れを返します。
サブクラスでは構造体のメンバに対するアクセスメソッドが定義されています。
//emlist[例][ruby]{
dog = Struct.new("Dog", :name, :age)
fred = dog.new("fred", 5)
fred.age = 6
printf "name:%s age:%d", fred.name, fred.age
#=> "name:fred age:6" を......または Symbol を指定します。
@param keyword_init true を指定すると、キーワード引数で初期化する構造体を定義します。
//emlist[例][ruby]{
Point = Struct.new(:x, :y, keyword_init: true) # => Point(keyword_init: true)
Point.new(x: 1, y: 2) # => #<struct Point x=1......な指定はエラーになります。
//emlist[例][ruby]{
p Struct.new('foo', 'bar')
# => -:1:in `new': identifier foo needs to be constant (NameError)
//}
また args[1..-1] は、Symbol か String で指定します。
//emlist[例][ruby]{
p Struct.new("Foo", :foo, :bar) # => Struct::Foo
/... -
Struct
. new(*args , keyword _ init: false) {|subclass| block } -> Class (157.0) -
Struct クラスに新しいサブクラスを作って、それを返します。
...れを返します。
サブクラスでは構造体のメンバに対するアクセスメソッドが定義されています。
//emlist[例][ruby]{
dog = Struct.new("Dog", :name, :age)
fred = dog.new("fred", 5)
fred.age = 6
printf "name:%s age:%d", fred.name, fred.age
#=> "name:fred age:6" を......または Symbol を指定します。
@param keyword_init true を指定すると、キーワード引数で初期化する構造体を定義します。
//emlist[例][ruby]{
Point = Struct.new(:x, :y, keyword_init: true) # => Point(keyword_init: true)
Point.new(x: 1, y: 2) # => #<struct Point x=1......な指定はエラーになります。
//emlist[例][ruby]{
p Struct.new('foo', 'bar')
# => -:1:in `new': identifier foo needs to be constant (NameError)
//}
また args[1..-1] は、Symbol か String で指定します。
//emlist[例][ruby]{
p Struct.new("Foo", :foo, :bar) # => Struct::Foo
/... -
Array
# sum(init=0) -> object (154.0) -
要素の合計を返します。例えば [e1, e2, e3].sum は init + e1 + e2 + e3 を返します。
...します。例えば [e1, e2, e3].sum は init + e1 + e2 + e3 を返します。
ブロックが与えられた場合、加算する前に各要素にブロックが適用されます。
配列が空の場合、initを返します。
//emlist[例][ruby]{
[].sum #=> 0......の平均値は以下のように求められます。
//emlist[例][ruby]{
mean = ary.sum(0.0) / ary.length
//}
init 引数を明示的に指名すると数値以外のオブジェクトにも使えます。
//emlist[例][ruby]{
["a", "b", "c"].sum("") #=> "abc"
[[1], [[2]], [3]].sum(......しかし、文字列の配列や配列の配列の場合 Array#join や Array#flatten の方が Array#sum よりも高速です。
//emlist[例][ruby]{
["a", "b", "c"].join #=> "abc"
[[1], [[2]], [3]].flatten(1) #=> [1, [2], 3]
//}
"+" メソッドが再定義されている...