種類
- インスタンスメソッド (71)
- 文書 (24)
- 特異メソッド (22)
- モジュール関数 (11)
- ライブラリ (11)
ライブラリ
- ビルトイン (71)
-
bigdecimal
/ ludcmp (11) - set (22)
モジュール
- LUSolve (11)
キーワード
-
NEWS for Ruby 2
. 3 . 0 (9) -
NEWS for Ruby 3
. 0 . 0 (4) - [] (22)
- flatten! (22)
- lusolve (11)
-
rdoc
/ parser / c (11) -
ruby 1
. 9 feature (11) - sum (16)
検索結果
先頭5件
-
Array
# flatten(lv = nil) -> Array (18264.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 (18243.0) -
自身を平坦化した配列を生成して返します。
...自身を平坦化した配列を生成して返します。
全てのキーと値を新しい配列の要素として展開します。
Array#flatten と違って、デフォルトではこのメソッドは自身を
再帰的に平坦化しません。level を指定すると指定されたレ......2 => [2,"two"], 3 => "three"}
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",... -
Set
# flatten -> Set (18232.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... -
Array
# flatten!(lv = nil) -> self | nil (6264.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)... -
Set
# flatten! -> self | nil (6232.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... -
ruby 1
. 9 feature (1920.0) -
ruby 1.9 feature ruby version 1.9.0 は開発版です。 以下にあげる機能は将来削除されたり互換性のない仕様変更がなされるかもしれません。 1.9.1 以降は安定版です。 バグ修正がメインになります。
...w]: 追加されたクラス/メソッドなど
* [compat]: 変更されたクラス/メソッドなど(互換性のある変更) (only backward-compatibility) (影響の範囲が小さいと思われる変更もこちら)
* [change]: 変更されたクラス/メソッドなど(互換性......= 1.9.0
=== 2006-09-16
: Struct#inspect
=== 2006-09-14
: digest.rb
: Digest::Base.file
=== 2006-09-13
: Hash#compare_by_identity
: Hash#compare_by_identity?
: Hash#identical
: Hash#identical?
=== 2006-09-12
: Hash#compare_by_identity
: Hash#compare_by_identity?
=== 2006-09-11
: Hash#identi......複数回挿入できるようになりました
: Math#log2 追加 ((<ruby-talk:191237>)) [new]
: Math#log にオプショナルな第2引数 base 追加 ((<ruby-talk:191308>)) [compat]
: Array#flatten, Array#flatten! がオプショナルな level 引数を受け取るようになりまし... -
NEWS for Ruby 3
. 0 . 0 (300.0) -
NEWS for Ruby 3.0.0 このドキュメントは前回リリース以降のバグ修正を除くユーザーに影響のある機能の変更のリストです。
...mlist{
def method_missing(meth, ...)
send(:"do_#{meth}", ...)
end
//}
* Pattern matching (`case/in`) is no longer experimental. 17260
* One-line pattern matching is redesigned. [EXPERIMENTAL]
* `=>` is added. It can be used like a rightward assignment.
17260
* `in......> 0
{b: 0, c: 1} => {b:}
p b #=> 0
//}
//emlist{
# version 3.0
0 in 1 #=> false
# version 2.7
0 in 1 #=> raise NoMatchingPatternError
//}
* Find-pattern is added. [EXPERIMENTAL]
16828
//emlist{
case ["a", 1, "b", "c", 2, "d", "e", "f", 3]
in [*pre, String => x, String => y, *post]
p pr......while
* Array#flatten
* Array#slice!
* Array#slice / Array#[]
* Array#take
* Array#take_while
* Array#uniq
* Array#*
* Can be sliced with Enumerator::ArithmeticSequence
//emlist[][ruby]{
dirty_data = ['--', 'data1', '--', 'data2', '--', 'data3']
dirty_d... -
NEWS for Ruby 2
. 3 . 0 (162.0) -
NEWS for Ruby 2.3.0 このドキュメントは前回リリース以降のバグ修正を除くユーザーに影響のある機能の変更のリストです。
...s.ruby-lang.org の issue を参照してください。
== 2.2.0 以降の変更
=== 言語仕様の変更
* frozen-string-literal プラグマ:
* 実験的な機能として fronzen-string-literal というプラグマが導入されました。
8976
* さらに --enable/--disab......le=frozen-string-literal というコマンドラインオプションも導入されました
8976
* コマンドラインオプションに --debug または --debug=frozen-string-literal を付けて実行すると、
freeze された文字列を操作しようとして RuntimeErr......ロックが評価される度にレシーバーの配列をすぐに変更しないようになりました。
10714
* Array#flatten と Array#flatten! は与えられたレベルを越えた要素には
`#to_ary`を呼ばないようになりました。
10748
* Array#ins... -
LUSolve
. # lusolve(a , b , ps , zero = 0 . 0) -> [BigDecimal] (124.0) -
LU 分解を用いて、連立1次方程式 Ax = b の解 x を求めて返します。
...立1次方程式 Ax = b の解 x を求めて返します。
@param a 行列を BigDecimal の配列で指定します。
各要素を Row-major order で並べて 1 次元の配列にし、
LUSolve.#ludecomp で変換したものを指定します。
@param b ベクトルを Big......ire 'bigdecimal'
require 'bigdecimal/util'
require 'bigdecimal/ludcmp'
include LUSolve
a = [['1.0', '2.0'], ['3.0', '1.0']].flatten.map(&:to_d)
# x = ['1.0', -1.0']
b = ['-1.0', '2.0'].map(&:to_d)
zero = '0.0'.to_d
one = '1.0'.to_d
# 以下の 2 行は
ps = ludecomp(a, b.size, zero, one) # a が......破壊的に変更される
x = lusolve(a, b, ps, zero)
# こう書いてもよい
# x = lusolve(a, b, ludecomp(a, b.size, zero, one), zero)
p x.map(&:to_f) #=> [1.0, -1.0]
//}... -
Array
# sum(init=0) -> object (112.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(init=0) {|e| expr } -> object (112.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]
//}
"+" メソッドが再定義されている場...