種類
- インスタンスメソッド (78)
- 文書 (27)
- ライブラリ (12)
キーワード
-
NEWS for Ruby 2
. 3 . 0 (10) -
NEWS for Ruby 3
. 0 . 0 (5) - flatten! (24)
-
rdoc
/ parser / c (12) -
ruby 1
. 9 feature (12) - sum (18)
検索結果
先頭5件
-
Array
# flatten(lv = nil) -> Array (27265.0) -
flatten は自身を再帰的に平坦化した配列を生成して返します。flatten! は 自身を再帰的かつ破壊的に平坦化し、平坦化が行われた場合は self をそうでない 場合は nil を返します。 lv が指定された場合、lv の深さまで再帰的に平坦化します。
...
flatten は自身を再帰的に平坦化した配列を生成して返します。flatten! は
自身を再帰的かつ破壊的に平坦化し、平坦化が行われた場合は self をそうでない
場合は nil を返します。
lv が指定された場合、lv の深さまで再帰的に......要素が自身を含むような無限にネストした配列に対して flatten を呼んだ場合に発生します。
//emlist[例][ruby]{
# 自身を再帰的に平坦化する例。
a = [1, [2, 3, [4], 5]]
p a.flatten #=> [1, 2, 3, 4, 5]
p a #......[2, 3]]]]
p a.flatten! #=> [1, 2, 3]
p a #=> [1, 2, 3]
# 平坦化が行われない場合は nil を返す。
p [1, 2, 3].flatten! #=> nil
# 平坦化の再帰の深さを指定する例。
a = [ 1, 2, [3, [4, 5] ] ]
a.flatten(1)... -
Hash
# flatten(level = 1) -> Array (18256.0) -
自身を平坦化した配列を生成して返します。
...自身を平坦化した配列を生成して返します。
全てのキーと値を新しい配列の要素として展開します。
Array#flatten と違って、デフォルトではこのメソッドは自身を
再帰的に平坦化しません。level を指定すると指定されたレ......a.flatten #=> [1, "one", 2, [2, "two"], 3, "three"]
a.flatten(1) #=> [1, "one", 2, [2, "two"], 3, "three"]
a.flatten(2) #=> [1, "one", 2, 2, "two", 3, "three"]
a.flatten(0) #=> [[1, "one"], [2, [2, "two"]], [3, "three"]]
a.flatten(-1) #=> [1, "one", 2, 2, "two", 3, "three"]
//}
@see Array#f... -
Set
# flatten -> Set (18138.0) -
集合を再帰的に平坦化します。
...集合を再帰的に平坦化します。
flatten は、平坦化した集合を新しく作成し、それを返します。
flatten! は、元の集合を破壊的に平坦化します。集合の要素に変更が
発生した場合には self を、そうでない場合には nil を返し......要素として self が再帰的に現れた場合に発生
します。
//emlist[][ruby]{
require 'set'
s = Set[Set[1,2], 3]
p s.flatten # => #<Set: {1, 2, 3}>
p s # => #<Set: {#<Set: {1, 2}>, 3}>
s.flatten!
p s # => #<Set: {1, 2, 3}>
//}
@see Array#flatten......rror 集合の要素として self が再帰的に現れた場合に発生
します。
//emlist[][ruby]{
s = Set[Set[1,2], 3]
p s.flatten # => #<Set: {1, 2, 3}>
p s # => #<Set: {#<Set: {1, 2}>, 3}>
s.flatten!
p s # => #<Set: {1, 2, 3}>
//}
@see Array#flatten... -
Array
# flatten!(lv = nil) -> self | nil (15165.0) -
flatten は自身を再帰的に平坦化した配列を生成して返します。flatten! は 自身を再帰的かつ破壊的に平坦化し、平坦化が行われた場合は self をそうでない 場合は nil を返します。 lv が指定された場合、lv の深さまで再帰的に平坦化します。
...
flatten は自身を再帰的に平坦化した配列を生成して返します。flatten! は
自身を再帰的かつ破壊的に平坦化し、平坦化が行われた場合は self をそうでない
場合は nil を返します。
lv が指定された場合、lv の深さまで再帰的に......要素が自身を含むような無限にネストした配列に対して flatten を呼んだ場合に発生します。
//emlist[例][ruby]{
# 自身を再帰的に平坦化する例。
a = [1, [2, 3, [4], 5]]
p a.flatten #=> [1, 2, 3, 4, 5]
p a #......[2, 3]]]]
p a.flatten! #=> [1, 2, 3]
p a #=> [1, 2, 3]
# 平坦化が行われない場合は nil を返す。
p [1, 2, 3].flatten! #=> nil
# 平坦化の再帰の深さを指定する例。
a = [ 1, 2, [3, [4, 5] ] ]
a.flatten(1)... -
Array
# sum(init=0) -> object (9036.0) -
要素の合計を返します。例えば [e1, e2, e3].sum は init + e1 + e2 + e3 を返します。
...列の配列の場合 Array#join や Array#flatten の方が Array#sum よりも高速です。
//emlist[例][ruby]{
["a", "b", "c"].join #=> "abc"
[[1], [[2]], [3]].flatten(1) #=> [1, [2], 3]
//}
"+" メソッドが再定義されている場合、Array#sum は再定義を無... -
Array
# sum(init=0) {|e| expr } -> object (9036.0) -
要素の合計を返します。例えば [e1, e2, e3].sum は init + e1 + e2 + e3 を返します。
...列の配列の場合 Array#join や Array#flatten の方が Array#sum よりも高速です。
//emlist[例][ruby]{
["a", "b", "c"].join #=> "abc"
[[1], [[2]], [3]].flatten(1) #=> [1, [2], 3]
//}
"+" メソッドが再定義されている場合、Array#sum は再定義を無... -
Set
# flatten! -> self | nil (6138.0) -
集合を再帰的に平坦化します。
...集合を再帰的に平坦化します。
flatten は、平坦化した集合を新しく作成し、それを返します。
flatten! は、元の集合を破壊的に平坦化します。集合の要素に変更が
発生した場合には self を、そうでない場合には nil を返し......要素として self が再帰的に現れた場合に発生
します。
//emlist[][ruby]{
require 'set'
s = Set[Set[1,2], 3]
p s.flatten # => #<Set: {1, 2, 3}>
p s # => #<Set: {#<Set: {1, 2}>, 3}>
s.flatten!
p s # => #<Set: {1, 2, 3}>
//}
@see Array#flatten......rror 集合の要素として self が再帰的に現れた場合に発生
します。
//emlist[][ruby]{
s = Set[Set[1,2], 3]
p s.flatten # => #<Set: {1, 2, 3}>
p s # => #<Set: {#<Set: {1, 2}>, 3}>
s.flatten!
p s # => #<Set: {1, 2, 3}>
//}
@see Array#flatten... -
NEWS for Ruby 3
. 0 . 0 (108.0) -
NEWS for Ruby 3.0.0 このドキュメントは前回リリース以降のバグ修正を除くユーザーに影響のある機能の変更のリストです。
...nly.
* Array
* The following methods now return Array instances instead of subclass instances when called on subclass instances: 6087
* Array#drop
* Array#drop_while
* Array#flatten
* Array#slice!
* Array#slice / Array#[]
* Array#take
* Array#take_whi......le
* Array#uniq
* Array#*
* Can be sliced with Enumerator::ArithmeticSequence
//emlist[][ruby]{
dirty_data = ['--', 'data1', '--', 'data2', '--', 'data3']
dirty_data[(1..).step(2)] # take each second element
# => ["data1", "data2", "data3"]
//}
* Binding
* Binding#eval when c......lass_method, toplevel "private" and "public" methods now accept single array argument with a list of method names. 17314
* Module#attr_accessor, Module#attr_reader, Module#attr_writer and Module#attr methods now return an array of defined method names as symbols. 17314
* Module#alias_method... -
rdoc
/ parser / c (90.0) -
C 言語で記述されたソースコードから組み込みクラス/モジュールのドキュメン トを解析するためのサブライブラリです。
...す。
例: Array#flatten の場合。rb_ary_flatten のコメントが解析されます。
/*
* Returns a new array that is a one-dimensional flattening of this
* array (recursively). That is, for every element that is an array,
* extract its elements into the new array.
*
*.......flatten #=> [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
*/
static VALUE
rb_ary_flatten(ary)
VALUE ary;
{
ary = rb_obj_dup(ary);
rb_ary_flatten_bang(ary);
return ary;
}
...
void
Init_Array()
{
...
rb_define_method(rb_cArray......, "flatten", rb_ary_flatten, 0);
上記の例の場合、rb_ary_flatten 関数と Init_Array 関数は同じファイルに記
述されている必要があります。
また、Ruby のソースコードとは別にコメントには特別な命令を指定する事がで
きます。
: Documen... -
NEWS for Ruby 2
. 3 . 0 (84.0) -
NEWS for Ruby 2.3.0 このドキュメントは前回リリース以降のバグ修正を除くユーザーに影響のある機能の変更のリストです。
...k は IO#read_nonblock と同じように `exception: false' オプションをサポートします
11358
* Array
* Array#bsearch_index を追加
10730
* Array#dig を追加
11643
* Comparable
* Comparable#==はもはや例外を rescue しません
7688......バグ修正を除く)
* Array
* Array#select!, Array#keep_if, Array#reject!, Array#delete_if
ブロックが評価される度にレシーバーの配列をすぐに変更しないようになりました。
10714
* Array#flatten と Array#flatten! は与えられたレベル......を越えた要素には
`#to_ary`を呼ばないようになりました。
10748
* Array#inspect はその要素の文字列が Encoding.default_external と
互換性のないエンコーディングであっても例外が発生しなくなりました。
11801
* E...