別のキーワード
ライブラリ
- ビルトイン (365)
- abbrev (1)
- bigdecimal (2)
-
bigdecimal
/ util (2) - csv (2)
- date (1)
- etc (1)
-
fiddle
/ import (3) - json (15)
-
json
/ add / rational (1) - logger (5)
- matrix (50)
- mkmf (3)
-
net
/ http (18) - optparse (4)
- pathname (27)
- prime (6)
- rake (10)
-
rexml
/ document (33) -
ripper
/ lexer (2) -
rubygems
/ custom _ require (1) -
rubygems
/ gem _ path _ searcher (1) -
rubygems
/ installer (2) -
rubygems
/ requirement (1) -
rubygems
/ specification (3) - socket (1)
- stringio (5)
- strscan (8)
- tsort (2)
- win32ole (1)
クラス
-
ARGF
. class (3) - Addrinfo (1)
- Array (36)
- BigDecimal (2)
- Binding (1)
-
CSV
:: Row (1) -
CSV
:: Table (1) - Class (1)
- Complex (6)
- Date (1)
- Dir (1)
- Encoding (1)
-
Encoding
:: Converter (4) - Enumerator (6)
-
Enumerator
:: Lazy (35) -
Enumerator
:: Yielder (3) - Exception (1)
- File (4)
-
File
:: Stat (29) - Float (33)
-
Gem
:: GemPathSearcher (1) -
Gem
:: Installer (2) -
Gem
:: Requirement (1) -
Gem
:: Specification (3) - Hash (13)
- IO (9)
- Integer (4)
-
JSON
:: State (5) - Logger (5)
- MatchData (12)
- Matrix (40)
-
Matrix
:: LUPDecomposition (1) - Method (1)
- Module (18)
-
Net
:: HTTP (18) - NilClass (3)
- Numeric (14)
- Object (2)
- OptionParser (4)
- Pathname (27)
- Prime (3)
-
Prime
:: EratosthenesGenerator (1) -
Prime
:: PseudoPrimeGenerator (2) - Proc (1)
-
REXML
:: Attribute (3) -
REXML
:: Attributes (13) -
REXML
:: CData (2) -
REXML
:: DocType (2) -
REXML
:: Element (10) -
REXML
:: Elements (3) -
Rake
:: Application (5) -
Rake
:: FileList (3) -
Rake
:: FileTask (1) -
Rake
:: InvocationChain (1) - Random (3)
- Range (2)
- Rational (29)
- Regexp (3)
-
Ripper
:: Lexer (2) -
RubyVM
:: InstructionSequence (2) - String (24)
- StringIO (5)
- StringScanner (8)
- Struct (3)
- Symbol (1)
- Thread (2)
-
Thread
:: Backtrace :: Location (7) - Time (4)
- UnboundMethod (1)
- Vector (9)
-
WIN32OLE
_ TYPELIB (1)
モジュール
- Enumerable (48)
-
Fiddle
:: Importer (3) - GC (1)
-
JSON
:: Generator :: GeneratorMethods :: Array (1) -
JSON
:: Generator :: GeneratorMethods :: FalseClass (1) -
JSON
:: Generator :: GeneratorMethods :: Float (1) -
JSON
:: Generator :: GeneratorMethods :: Hash (1) -
JSON
:: Generator :: GeneratorMethods :: Integer (1) -
JSON
:: Generator :: GeneratorMethods :: NilClass (1) -
JSON
:: Generator :: GeneratorMethods :: Object (1) -
JSON
:: Generator :: GeneratorMethods :: String (1) -
JSON
:: Generator :: GeneratorMethods :: TrueClass (1) - Kernel (4)
- TSort (2)
キーワード
- % (1)
- * (2)
- ** (2)
- + (2)
- - (2)
- -@ (1)
-
/ (2) - < (1)
- << (1)
- <= (1)
- <=> (5)
- == (4)
- === (2)
- >= (1)
- [] (7)
- []= (1)
- abbrev (1)
- abs (1)
-
absolute
_ path (2) - accept (1)
-
add
_ attribute (2) -
add
_ attributes (1) -
add
_ dependency (1) -
add
_ development _ dependency (1) -
add
_ element (1) -
add
_ runtime _ dependency (1) - all? (2)
- angle (1)
-
angle
_ with (1) - antisymmetric? (1)
- any? (2)
-
append
_ features (1) - arg (3)
-
array
_ nl (1) - attr (3)
-
attr
_ accessor (1) -
attr
_ reader (1) -
attr
_ writer (1) - attribute (1)
-
attribute
_ of (1) -
attributes
_ of (1) - autoload (1)
-
backtrace
_ locations (3) -
base
_ label (1) - begin (1)
- bind (1)
- binread (1)
- birthtime (1)
- blksize (1)
- blocks (1)
- ceil (2)
- chain (1)
- chardev? (1)
-
check
_ circular? (1) - children (1)
- chunk (3)
-
chunk
_ while (1) - cleanpath (1)
- coerce (1)
-
cofactor
_ expansion (1) - collect (6)
- collect! (4)
- collect2 (1)
-
collect
_ concat (3) - column (2)
-
column
_ vectors (1) - combination (1)
- concat (5)
- configure (1)
-
const
_ source _ location (1) -
create
_ makefile (1) - cycle (2)
-
datetime
_ format (1) - delete (2)
-
delete
_ all (2) -
delete
_ at (1) -
delete
_ attribute (1) -
delete
_ if (2) - denominator (3)
-
deprecate
_ constant (1) - detect (1)
- dev (1)
-
dev
_ major (1) -
dev
_ minor (1) - directory? (1)
- divmod (1)
- drop (1)
-
drop
_ while (3) - each (11)
-
each
_ attribute (1) -
each
_ char (2) -
each
_ child (3) -
each
_ codepoint (1) -
each
_ cons (1) -
each
_ element _ with _ attribute (1) -
each
_ entry (2) -
each
_ grapheme _ cluster (1) -
each
_ line (7) -
each
_ slice (1) -
each
_ strongly _ connected _ component (1) -
each
_ strongly _ connected _ component _ from (1) -
each
_ value (1) -
each
_ with _ index (4) -
each
_ with _ object (1) - eager (1)
-
egrep
_ cpp (2) - eigen (1)
- eigensystem (1)
- element (1)
- end (1)
-
enum
_ for (2) - eql? (3)
-
executable
_ real? (1) -
family
_ addrinfo (1) - fatal (2)
- fatal? (1)
- fdiv (2)
- feed (1)
- field? (1)
- filter (5)
- filter! (2)
-
filter
_ map (2) - find (1)
-
find
_ all (2) -
find
_ index (4) -
flat
_ map (3) - flatten (2)
- flatten! (1)
- flock (1)
- floor (2)
- fnmatch (1)
- force (1)
-
formatted
_ program _ filename (1) - formatter (1)
- ftype (1)
-
garbage
_ collect (1) - get (2)
- get2 (2)
-
get
_ attribute (1) -
get
_ attribute _ ns (1) -
get
_ text (1) - gid (1)
- glob (2)
- grep (3)
-
grep
_ v (3) -
group
_ by (1) - grpowned? (1)
- gsub (1)
- gsub! (4)
- hash (1)
- head (1)
- head2 (2)
- index (4)
- ino (1)
- inspect (3)
- install (1)
-
json
_ creatable? (1) -
keep
_ if (1) - label (1)
-
laplace
_ expansion (1) - lazy (2)
- length (2)
- lex (1)
-
lib
_ dirs _ for (1) - lineno (1)
- lines (1)
- lup (1)
-
lup
_ decomposition (1) - magnitude (2)
- map (6)
- map! (4)
- match (4)
- match? (4)
- matched (1)
- matched? (1)
-
matched
_ size (1) -
max
_ by (2) - member? (1)
- merge (1)
-
min
_ by (2) -
minmax
_ by (1) - minor (2)
- mode (1)
- modulo (1)
- name (1)
- namespace (1)
- namespaces (1)
- negative? (2)
-
next
_ values (1) - nlink (1)
- none? (2)
- norm (1)
- numerator (3)
-
object
_ nl (1) - offset (2)
- on (3)
- one? (2)
-
original
_ dir (1) - pack (2)
- parse (1)
- partition (1)
- path (4)
- pathconf (1)
- pathmap (1)
-
peek
_ values (1) - permutation (2)
- phase (1)
- positive? (1)
- post (2)
- post2 (2)
-
post
_ match (1) -
pre
_ match (1) - prefix (1)
- prefixes (1)
-
prepend
_ features (1) -
prev
_ float (1) -
prime
_ division (1) -
primitive
_ convert (4) - printf (1)
- private (1)
-
private
_ class _ method (1) -
private
_ constant (1) -
private
_ instance _ methods (1) -
private
_ method _ defined? (1) - quo (2)
- rakefile (1)
- rand (3)
- rationalize (9)
- rdev (1)
-
rdev
_ major (1) -
rdev
_ minor (1) - readable? (1)
-
readable
_ real? (1) - real (1)
- real? (1)
- realdirpath (1)
- realpath (2)
- rectangular (1)
- regular? (1)
- reject (2)
- reject! (2)
- relative? (1)
-
relative
_ path _ from (1) -
remove
_ const (1) - reopen (2)
-
repeated
_ combination (1) -
repeated
_ permutation (1) - replicate (1)
-
request
_ get (2) -
request
_ head (2) -
request
_ post (2) - require (1)
-
respond
_ to _ missing? (1) -
reverse
_ each (1) - rewind (2)
- rindex (1)
- root? (1)
- rotate! (1)
- round (3)
- row (2)
-
ruby2
_ keywords (1) -
satisfied
_ by? (1) - saturday? (1)
- scan (1)
- select (5)
- select! (2)
-
send
_ request (1) - size (5)
- size? (1)
-
skew
_ symmetric? (1) -
slice
_ after (4) -
slice
_ before (5) -
slice
_ when (2) - solve (1)
-
sort
_ by (1) -
source
_ location (4) - split (1)
- step (8)
- strftime (1)
- struct (1)
- sub (2)
- sub! (3)
-
sub
_ ext (1) - subsec (1)
- take (1)
-
take
_ while (4) - terminate (1)
- text (1)
-
to
_ a (2) -
to
_ binary (1) -
to
_ d (2) -
to
_ enum (2) -
to
_ f (3) -
to
_ i (2) -
to
_ json (10) -
to
_ path (1) -
to
_ proc (1) -
to
_ r (7) -
to
_ s (4) -
to
_ string (1) -
top
_ level _ tasks (1) - tr (2)
-
tr
_ s (1) -
tr
_ s! (1) - trace (1)
-
transform
_ values (1) -
transform
_ values! (1) - truncate (6)
- uid (1)
- union (1)
- unlink (1)
- unpack (1)
- update (2)
- value (1)
-
values
_ at (4) -
with
_ index (3) -
world
_ readable? (1) -
world
_ writable? (1) - writable? (1)
-
writable
_ real? (1) - xpath (1)
- yield (1)
-
yield
_ self (1) - zero? (2)
- zip (2)
検索結果
先頭5件
-
JSON
:: Generator :: GeneratorMethods :: TrueClass # to _ json(state _ or _ hash = nil) -> String (46222.0) -
自身から生成した JSON 形式の文字列を返します。
自身から生成した JSON 形式の文字列を返します。
"true" という文字列を返します。
@param state_or_hash 生成する JSON 形式の文字列をカスタマイズするため
に JSON::State のインスタンスか、
JSON::State.new の引数と同じ Hash を
指定します。
//emlist[例][ruby]{
require "json"
true.to_json # => "true"
//} -
Logger
# fatal(progname = nil) -> true (46222.0) -
FATAL 情報を出力します。
FATAL 情報を出力します。
ブロックを与えなかった場合は、progname をメッセージとしてログを出力します。
ブロックを与えた場合は、ブロックを評価した結果をメッセージとして
ログを出力します。
引数とブロックを同時に与えた場合は、progname をプログラム名、ブロックを評価した
結果をメッセージとしてログを出力します。
@param progname ブロックを与えない場合は、メッセージとして文字列または例外オブジェクトを指定します。
ブロックを与えた場合は、プログラム名を文字列として与えます。
//emlist[例][ruby]{
r... -
Logger
# fatal(progname = nil) { . . . } -> true (46222.0) -
FATAL 情報を出力します。
FATAL 情報を出力します。
ブロックを与えなかった場合は、progname をメッセージとしてログを出力します。
ブロックを与えた場合は、ブロックを評価した結果をメッセージとして
ログを出力します。
引数とブロックを同時に与えた場合は、progname をプログラム名、ブロックを評価した
結果をメッセージとしてログを出力します。
@param progname ブロックを与えない場合は、メッセージとして文字列または例外オブジェクトを指定します。
ブロックを与えた場合は、プログラム名を文字列として与えます。
//emlist[例][ruby]{
r... -
Matrix
# real -> Matrix (46222.0) -
行列の実部を返します。
行列の実部を返します。
//emlist[例][ruby]{
require 'matrix'
Matrix[[Complex(1,2), Complex(0,1), 0], [1, 2, 3]]
# => 1+2i i 0
# 1 2 3
Matrix[[Complex(1,2), Complex(0,1), 0], [1, 2, 3]].real
# => 1 0 0
# 1 2 3
//} -
Module
# attr _ accessor(*name) -> nil (46222.0) -
インスタンス変数 name に対する読み取りメソッドと書き込みメソッドの両方を 定義します。
インスタンス変数 name に対する読み取りメソッドと書き込みメソッドの両方を
定義します。
このメソッドで定義されるメソッドの定義は以下の通りです。
//emlist[例][ruby]{
def name
@name
end
def name=(val)
@name = val
end
//}
@param name String または Symbol を 1 つ以上指定します。 -
Module
# attr _ reader(*name) -> nil (46222.0) -
インスタンス変数 name の読み取りメソッドを定義します。
インスタンス変数 name の読み取りメソッドを定義します。
このメソッドで定義されるメソッドの定義は以下の通りです。
//emlist[例][ruby]{
def name
@name
end
//}
@param name String または Symbol を 1 つ以上指定します。 -
Module
# attr _ writer(*name) -> nil (46222.0) -
インスタンス変数 name への書き込みメソッド (name=) を定義します。
インスタンス変数 name への書き込みメソッド (name=) を定義します。
このメソッドで定義されるメソッドの定義は以下の通りです。
//emlist[例][ruby]{
def name=(val)
@name = val
end
//}
@param name String または Symbol を 1 つ以上指定します。 -
Module
# private _ constant(*name) -> self (46222.0) -
name で指定した定数の可視性を private に変更します。
name で指定した定数の可視性を private に変更します。
@param name 0 個以上の String か Symbol を指定します。
@raise NameError 存在しない定数を指定した場合に発生します。
@return self を返します。
@see Module#public_constant, Object#untrusted?
//emlist[例][ruby]{
module Foo
BAR = 'bar'
class Baz; end
QUX = 'qux'
class Quux; end
private_constan... -
REXML
:: Element # add _ attribute(attr) -> () (46222.0) -
要素の属性を追加します。 同じ名前の属性がすでにある場合はその属性を新しい 属性で置き換えます。
要素の属性を追加します。
同じ名前の属性がすでにある場合はその属性を新しい
属性で置き換えます。
引数の与えかたは2通りあります。
要素名と値の2つの文字列で渡す方法と REXML::Attribute オブジェクトを
渡す方法です。
文字列2つで指定する場合、属性値は unnormalized な文字列を渡す必要があります。
@param key 属性名(文字列)
@param value 属性値(文字列)
@param attr 属性(REXML::Attribute オブジェクト)
//emlist[][ruby]{
require 'rexml/document'
doc = ... -
REXML
:: Element # add _ attribute(key , value) -> () (46222.0) -
要素の属性を追加します。 同じ名前の属性がすでにある場合はその属性を新しい 属性で置き換えます。
要素の属性を追加します。
同じ名前の属性がすでにある場合はその属性を新しい
属性で置き換えます。
引数の与えかたは2通りあります。
要素名と値の2つの文字列で渡す方法と REXML::Attribute オブジェクトを
渡す方法です。
文字列2つで指定する場合、属性値は unnormalized な文字列を渡す必要があります。
@param key 属性名(文字列)
@param value 属性値(文字列)
@param attr 属性(REXML::Attribute オブジェクト)
//emlist[][ruby]{
require 'rexml/document'
doc = ... -
REXML
:: Element # add _ attributes(attrs) -> () (46222.0) -
要素の属性を複数追加します。 同じ名前の属性がすでにある場合はその属性を新しい 属性で置き換えます。
要素の属性を複数追加します。
同じ名前の属性がすでにある場合はその属性を新しい
属性で置き換えます。
attrs には Hash もしくは Array を指定できます。
Hash の場合は、
{ "name1" => "value1", "name2" => "value2", ... }
という形で、配列の場合は
[ ["name1", "value1"], ["name2", "value2"], ... }
という形で追加/更新する属性を指定します。
@param attrs 追加する属性の属性名と属性値の対の集合(Array or Hash)
//emlist[][rub... -
Rake
:: Application # original _ dir -> String (46222.0) -
rake コマンドを実行したディレクトリを返します。
rake コマンドを実行したディレクトリを返します。
//emlist[][ruby]{
# Rakefile での記載例とする
task default: :test_rake_app
task :test_rake_app do
Rake.application.original_dir # => "/path/to/dir"
end
//} -
Array
# delete _ at(pos) -> object | nil (45961.0) -
指定された位置 pos にある要素を取り除きそれを返します。 pos が範囲外であったら nil を返します。
指定された位置 pos にある要素を取り除きそれを返します。
pos が範囲外であったら nil を返します。
Array#at と同様に負のインデックスで末尾から位置を指定するこ
とができます。
@param pos 削除したい要素のインデックスを整数で指定します。
整数以外のオブジェクトを指定した場合は to_int メソッドによる
暗黙の型変換を試みます。
@raise TypeError 引数に整数以外の(暗黙の型変換が行えない)オブジェクトを
指定した場合に発生します。
//emlist[例][r... -
JSON
:: State # check _ circular? -> bool (45940.0) -
循環参照のチェックを行う場合は、真を返します。 そうでない場合は偽を返します。
循環参照のチェックを行う場合は、真を返します。
そうでない場合は偽を返します。
//emlist[例 ネストをチェックするケース][ruby]{
require "json"
a = [[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[0]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]... -
Logger
# formatter -> String (45940.0) -
ログを出力する際に使用するフォーマッターを取得します。
ログを出力する際に使用するフォーマッターを取得します。
このメソッドの返り値が持つ call メソッドは 4 つの引数 (severity, time, program name, message) を受けとります。
//emlist[例][ruby]{
require 'logger'
logger = Logger.new(STDOUT)
logger.formatter # => nil
logger.info("test")
# => I, [2019-05-09T22:13:56.509159 #13912] INFO -- : test
ltsv_formatter =... -
Array
# flatten!(lv = nil) -> self | nil (45922.0) -
flatten は自身を再帰的に平坦化した配列を生成して返します。flatten! は 自身を再帰的かつ破壊的に平坦化し、平坦化が行われた場合は self をそうでない 場合は nil を返します。 lv が指定された場合、lv の深さまで再帰的に平坦化します。
flatten は自身を再帰的に平坦化した配列を生成して返します。flatten! は
自身を再帰的かつ破壊的に平坦化し、平坦化が行われた場合は self をそうでない
場合は nil を返します。
lv が指定された場合、lv の深さまで再帰的に平坦化します。
@param lv 平坦化の再帰の深さを整数で指定します。nil を指定した場合、再
帰の深さの制限無しに平坦化します。
整数以外のオブジェクトを指定した場合は to_int メソッドによる暗
黙の型変換を試みます。
@raise TypeError 引数に整数以外の(... -
BigDecimal
# truncate -> Integer (45922.0) -
小数点以下の数を切り捨てて整数にします。
小数点以下の数を切り捨てて整数にします。
@param n 小数点以下の桁数を整数で指定します。
以下のように引数を与えて、小数点以下 n+1 位の数字を操作することもできます。
n が正の時は、小数点以下 n+1 位の数字を切り捨てます
(小数点以下を、最大 n 桁にします)。
n が負のときは小数点以上 n 桁目を操作します
(小数点位置から左に少なくとも n 個の 0 が並びます)。
//emlist[][ruby]{
require "bigdecimal"
BigDecimal("1.23456").truncate(4).to_f # => 1.2345
BigDec... -
Gem
:: GemPathSearcher # lib _ dirs _ for(spec) -> String (45922.0) -
ライブラリの格納されているディレクトリを glob に使える形式で返します。
ライブラリの格納されているディレクトリを glob に使える形式で返します。
例:
'/usr/local/lib/ruby/gems/1.8/gems/foobar-1.0/{lib,ext}' -
JSON
:: State # array _ nl -> String (45922.0) -
JSON の配列の後に出力する文字列を返します。
JSON の配列の後に出力する文字列を返します。
//emlist[例][ruby]{
require "json"
json_state = JSON::State.new({})
json_state.array_nl # => ""
json_state = JSON::State.new(array_nl: "\n")
json_state.array_nl # => "\n"
//} -
Logger
# fatal? -> bool (45922.0) -
現在の Logger オブジェクトが FATAL 以上のログレベルのメッセージを記録するなら 真を返します。
現在の Logger オブジェクトが FATAL 以上のログレベルのメッセージを記録するなら
真を返します。
//emlist[例][ruby]{
require 'logger'
logger = Logger.new(STDOUT, level: Logger::Severity::FATAL)
logger.fatal? # => true
logger.level = 5
logger.fatal? # => false
//} -
Matrix
# column _ vectors -> [Vector] (45922.0) -
自分自身を列ベクトルの配列として返します。
自分自身を列ベクトルの配列として返します。
//emlist[例][ruby]{
require 'matrix'
a1 = [ 1, 2, 3]
a2 = [10, 15, 20]
a3 = [-1, -2, 1.5]
m = Matrix[a1, a2, a3]
p m.column_vectors # => [Vector[1, 10, -1], Vector[2, 15, -2], Vector[3, 20, 1.5]]
//} -
Matrix
# real? -> bool (45922.0) -
行列の全要素が実(Numeric#real?)であれば true を返します。
行列の全要素が実(Numeric#real?)であれば true を返します。
Complexオブジェクトを要素に持つ場合は虚部が0でも偽を返します。
//emlist[例][ruby]{
require 'matrix'
Matrix[[1, 0], [0, 1]].real? # => true
Matrix[[Complex(0, 1), 0], [0, 1]].real? # => false
# 要素が実数であっても Complex オブジェクトなら偽を返す。
Matrix[[Complex(1, 0), 0], [0, 1]].real? # => false
//} -
Matrix
# regular? -> bool (45922.0) -
行列が正方で正則なら true を、特異なら false を返します。
行列が正方で正則なら true を、特異なら false を返します。
行列が正則であるとは、正方行列であり、かつ、その逆行列が存在することです。
行列式が0でないことと同値です。
正方行列でない場合には例外 ExceptionForMatrix::ErrDimensionMismatch を
発生させます。
//emlist[例][ruby]{
require 'matrix'
a1 = [ 1, 2, 3]
a2 = [10, 15, 20]
a3 = [-1, -2, 1.5]
m = Matrix[a1, a2, a3]
p m.regular? # => true
... -
Rational
# <=>(other) -> -1 | 0 | 1 | nil (45922.0) -
self と other を比較して、self が大きい時に 1、等しい時に 0、小さい時に -1 を返します。比較できない場合はnilを返します。
self と other を比較して、self が大きい時に 1、等しい時に 0、小さい時に
-1 を返します。比較できない場合はnilを返します。
@param other 自身と比較する数値
@return -1 か 0 か 1 か nil を返します。
//emlist[例][ruby]{
Rational(2, 3) <=> Rational(2, 3) # => 0
Rational(5) <=> 5 # => 0
Rational(2, 3) <=> Rational(1,3) # => 1
Rational(1, 3... -
Rational
# negative? -> bool (45922.0) -
self が 0 未満の場合に true を返します。そうでない場合に false を返します。
self が 0 未満の場合に true を返します。そうでない場合に false を返します。
//emlist[例][ruby]{
Rational(1, 2).negative? # => false
Rational(-1, 2).negative? # => true
//}
@see Rational#positive? -
Thread
:: Backtrace :: Location # path -> String (45922.0) -
self が表すフレームのファイル名を返します。
self が表すフレームのファイル名を返します。
例: Thread::Backtrace::Location の例1を用いた例
//emlist[][ruby]{
loc = c(0..1).first
loc.path # => "caller_locations.rb"
//}
@see Thread::Backtrace::Location#absolute_path -
Enumerator
:: Lazy # lazy -> self (45640.0) -
self を返します。
self を返します。
//emlist[例][ruby]{
lazy = (100..Float::INFINITY).lazy
p lazy.lazy # => #<Enumerator::Lazy: 100..Infinity>
p lazy == lazy.lazy # => true
//} -
REXML
:: Attributes # prefixes -> [String] (45640.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... -
Enumerator
:: Yielder # yield(*object) -> () (45622.0) -
Enumerator.new で使うメソッドです。
Enumerator.new で使うメソッドです。
生成された Enumerator オブジェクトの each メソッドを呼ぶと
Enumerator::Yielder オブジェクトが渡されたブロックが実行され、
ブロック内の yield メソッドが呼ばれるたびに each に渡された
ブロックが yield メソッドに渡された値とともに繰り返されます。
//emlist[例][ruby]{
enum = Enumerator.new do |y|
y.yield 1, 2, 3
end
enum.each do |x, y, z|
p [x, y, z]
end
# => [... -
REXML
:: Attribute # prefix -> String (45622.0) -
属性の名前空間を返します。
属性の名前空間を返します。
//emlist[][ruby]{
require 'rexml/document'
e = REXML::Element.new( "elns:myelement" )
e.add_attribute( "nsa:a", "aval" )
e.add_attribute( "b", "bval" )
p e.attributes.get_attribute( "a" ).prefix # -> "nsa"
p e.attributes.get_attribute( "b" ).prefix # -> "elns"
a = REXML::Attribute... -
Matrix
# laplace _ expansion(row: nil , column: nil) -> object | Integer | Rational | Float (37822.0) -
row 行、もしくは column 列に関するラプラス展開をする。
row 行、もしくは column 列に関するラプラス展開をする。
通常の行列に対してはこれは単に固有値を計算するだけです。かわりにMatrix#determinant を
利用すべきです。
変則的な形状の行列に対してはそれ以上の意味を持ちます。例えば
row行/column列が行列やベクトルである場合には
//emlist[例][ruby]{
require 'matrix'
# Matrix[[7,6], [3,9]].laplace_expansion(column: 1) # => 45
Matrix[[Vector[1, 0], Vector[0, 1]], [2, 3]].... -
Matrix
# lup -> Matrix :: LUPDecomposition (37612.0) -
行列の LUP 分解を保持したオブジェクトを返します。
行列の LUP 分解を保持したオブジェクトを返します。
Matrix::LUPDecomposition は to_ary を定義しているため、
多重代入によって3つの行列(下三角行列、上三角行列、置換行列)
を得ることができます。これを [L, U, P] と書くと、
L*U = P*self を満たします。
//emlist[例][ruby]{
require 'matrix'
a = Matrix[[1, 2], [3, 4]]
l, u, p = a.lup
l.lower_triangular? # => true
u.upper_triangular? # => true
p.... -
Matrix
# lup _ decomposition -> Matrix :: LUPDecomposition (37612.0) -
行列の LUP 分解を保持したオブジェクトを返します。
行列の LUP 分解を保持したオブジェクトを返します。
Matrix::LUPDecomposition は to_ary を定義しているため、
多重代入によって3つの行列(下三角行列、上三角行列、置換行列)
を得ることができます。これを [L, U, P] と書くと、
L*U = P*self を満たします。
//emlist[例][ruby]{
require 'matrix'
a = Matrix[[1, 2], [3, 4]]
l, u, p = a.lup
l.lower_triangular? # => true
u.upper_triangular? # => true
p.... -
Enumerable
# slice _ after {|elt| bool } -> Enumerator (37576.0) -
パターンがマッチした要素、もしくはブロックが真を返した要素を末尾の要素 としてチャンク化(グループ化)したものを繰り返す Enumerator を 返し ます。
パターンがマッチした要素、もしくはブロックが真を返した要素を末尾の要素
としてチャンク化(グループ化)したものを繰り返す Enumerator を 返し
ます。
パターンを渡した場合は各要素に対し === が呼び出され、 それが真になった
ところをチャンクの末尾と見なします。 ブロックを渡した場合は、各要素に対
しブロックを適用し 返り値が真であった要素をチャンクの末尾と見なします。
パターンもブロックも最初から最後の要素まで呼び出されます。
各チャンクは配列として表現されます。そのため、以下のような呼び出しを行
う事もできます。
//emlist[例][ruby]{
enum.sl... -
Enumerable
# slice _ after(pattern) -> Enumerator (37576.0) -
パターンがマッチした要素、もしくはブロックが真を返した要素を末尾の要素 としてチャンク化(グループ化)したものを繰り返す Enumerator を 返し ます。
パターンがマッチした要素、もしくはブロックが真を返した要素を末尾の要素
としてチャンク化(グループ化)したものを繰り返す Enumerator を 返し
ます。
パターンを渡した場合は各要素に対し === が呼び出され、 それが真になった
ところをチャンクの末尾と見なします。 ブロックを渡した場合は、各要素に対
しブロックを適用し 返り値が真であった要素をチャンクの末尾と見なします。
パターンもブロックも最初から最後の要素まで呼び出されます。
各チャンクは配列として表現されます。そのため、以下のような呼び出しを行
う事もできます。
//emlist[例][ruby]{
enum.sl... -
Enumerable
# slice _ before(pattern) -> Enumerator (37576.0) -
パターンがマッチした要素、もしくはブロックが真を返した要素から 次にマッチする手前までを チャンク化(グループ化)したものを繰り返す Enumerator を 返します。
パターンがマッチした要素、もしくはブロックが真を返した要素から
次にマッチする手前までを
チャンク化(グループ化)したものを繰り返す Enumerator を
返します。
パターンを渡した場合は各要素に対し === が呼び出され、
それが真になったところをチャンクの先頭と見なします。
ブロックを渡した場合は、各要素に対しブロックを適用し
返り値が真であった要素をチャンクの先頭と見なします。
より厳密にいうと、「先頭要素」の手前で分割していきます。
最初の要素の評価は無視されます。
各チャンクは配列として表現されます。
Enumerable#to_a や Enumerable#map ... -
Enumerable
# filter -> Enumerator (37558.0) -
各要素に対してブロックを評価した値が真であった要素を全て含む配列を 返します。真になる要素がひとつもなかった場合は空の配列を返します。
各要素に対してブロックを評価した値が真であった要素を全て含む配列を
返します。真になる要素がひとつもなかった場合は空の配列を返します。
ブロックを省略した場合は Enumerator を返します。
//emlist[例][ruby]{
(1..10).find_all # => #<Enumerator: 1..10:find_all>
(1..10).find_all { |i| i % 3 == 0 } # => [3, 6, 9]
[1,2,3,4,5].select # => #<E... -
GC
# garbage _ collect(full _ mark: true , immediate _ sweep: true) -> nil (37558.0) -
ガーベージコレクトを開始します。
ガーベージコレクトを開始します。
GC.start や ObjectSpace.#garbage_collect と同じ働きをします。
GC.disable により GC が禁止されている場合でもガベージコレクトを開始します。
nil を返します。
@param full_mark マイナー GC を動作させる場合は false を、そうでない場
合は true を指定します。
@param immediate_sweep sweep を遅らせる(Lazy Sweep を行う)場合は false
を、そう... -
Struct
# filter -> Enumerator (37558.0) -
構造体のメンバの値に対してブロックを評価した値が真であった要素を全て含 む配列を返します。真になる要素がひとつもなかった場合は空の配列を返しま す。
構造体のメンバの値に対してブロックを評価した値が真であった要素を全て含
む配列を返します。真になる要素がひとつもなかった場合は空の配列を返しま
す。
ブロックを省略した場合は Enumerator を返します。
//emlist[例][ruby]{
Lots = Struct.new(:a, :b, :c, :d, :e, :f)
l = Lots.new(11, 22, 33, 44, 55, 66)
l.select {|v| (v % 2).zero? } #=> [22, 44, 66]
//}
[注意] 本メソッドの記述は Struct の下位クラスのインスタンスに対して... -
Ripper
:: Lexer # lex -> [[Integer , Integer] , Symbol , String , Ripper :: Lexer :: State] (37552.0) -
自身の持つ Ruby プログラムをトークンに分割し、そのリストを返します。
自身の持つ Ruby プログラムをトークンに分割し、そのリストを返します。
ライブラリ内部で使用します。 Ripper.lex を使用してください。 -
Array
# filter -> Enumerator (37540.0) -
各要素に対してブロックを評価した値が真であった要素を全て含む配列を 返します。真になる要素がひとつもなかった場合は空の配列を返します。
各要素に対してブロックを評価した値が真であった要素を全て含む配列を
返します。真になる要素がひとつもなかった場合は空の配列を返します。
ブロックを省略した場合は Enumerator を返します。
//emlist[例][ruby]{
[1,2,3,4,5].select # => #<Enumerator: [1, 2, 3, 4, 5]:select>
[1,2,3,4,5].select { |num| num.even? } # => [2, 4]
//}
@see Enumerable#select
@see Array#select... -
Array
# permutation(n = self . length) -> Enumerator (37540.0) -
サイズ n の順列をすべて生成し,それを引数としてブロックを実行します。
サイズ n の順列をすべて生成し,それを引数としてブロックを実行します。
引数を省略した場合は配列の要素数と同じサイズの順列に対してブロックを実
行します。
得られる順列の順序は保証されません。ブロックなしで呼び出されると, 順列
を生成する Enumerator オブジェクトを返します。
@param n 生成する配列のサイズを整数で指定します。
整数以外のオブジェクトを指定した場合は to_int メソッドによる暗
黙の型変換を試みます。
@raise TypeError 引数に整数以外の(暗黙の型変換が行えない)オブジェクトを
... -
Array
# permutation(n = self . length) { |p| block } -> self (37540.0) -
サイズ n の順列をすべて生成し,それを引数としてブロックを実行します。
サイズ n の順列をすべて生成し,それを引数としてブロックを実行します。
引数を省略した場合は配列の要素数と同じサイズの順列に対してブロックを実
行します。
得られる順列の順序は保証されません。ブロックなしで呼び出されると, 順列
を生成する Enumerator オブジェクトを返します。
@param n 生成する配列のサイズを整数で指定します。
整数以外のオブジェクトを指定した場合は to_int メソッドによる暗
黙の型変換を試みます。
@raise TypeError 引数に整数以外の(暗黙の型変換が行えない)オブジェクトを
... -
Hash
# filter -> Enumerator (37540.0) -
key, value のペアについてブロックを評価し,真となるペアだけを含む ハッシュを生成して返します。
key, value のペアについてブロックを評価し,真となるペアだけを含む
ハッシュを生成して返します。
ブロックが与えられなかった場合は、自身と select から生成した
Enumerator オブジェクトを返します。
//emlist[][ruby]{
h = { "a" => 100, "b" => 200, "c" => 300 }
h.select {|k,v| k > "a"} #=> {"b" => 200, "c" => 300}
h.select {|k,v| v < 200} #=> {"a" => 100}
//}
@see Hash#select!, ... -
REXML
:: Attributes # delete(attribute) -> REXML :: Element (37540.0) -
指定した属性を取り除きます。
指定した属性を取り除きます。
attribute で取り除く属性を指定します。
文字列もしくは REXML::Attribute オブジェクトを指定します
self が属する要素(REXML::Element)を返します。
@param attribute 取り除く属性(文字列もしくは REXML::Attribute オブジェクト)
//emlist[][ruby]{
require 'rexml/document'
doc = REXML::Document.new(<<-EOS)
<root xmlns:foo="http://example.org/foo"
x... -
Enumerator
:: Lazy # grep(pattern) {|item| . . . } -> Enumerator :: Lazy (37522.0) -
Enumerable#grep と同じですが、配列ではなくEnumerator::Lazy を返します。
Enumerable#grep と同じですが、配列ではなくEnumerator::Lazy を返します。
//emlist[例][ruby]{
(100..Float::INFINITY).lazy.map(&:to_s).grep(/\A(\d)\1+\z/)
# => #<Enumerator::Lazy: #<Enumerator::Lazy: #<Enumerator::Lazy: 100..Infinity>:map>:grep(/\A(\d)\1+\z/)>
(100..Float::INFINITY).lazy.map(&:to_s).grep(/\A(\d)\1+\z/).... -
Enumerator
:: Lazy # grep _ v(pattern) {|item| . . . } -> Enumerator :: Lazy (37522.0) -
Enumerable#grep_v と同じですが、配列ではなくEnumerator::Lazy を返します。
Enumerable#grep_v と同じですが、配列ではなくEnumerator::Lazy を返します。
//emlist[例][ruby]{
(100..Float::INFINITY).lazy.map(&:to_s).grep_v(/(\d).*\1/)
# => #<Enumerator::Lazy: #<Enumerator::Lazy: #<Enumerator::Lazy: 100..Infinity>:map>:grep_v(/(\d).*\1/)>
(100..Float::INFINITY).lazy.map(&:to_s).grep_v(/(\d).*\1/).t... -
Float
# truncate(ndigits = 0) -> Integer | Float (37522.0) -
小数点以下を切り捨てて値を整数に変換します。
小数点以下を切り捨てて値を整数に変換します。
@param ndigits 10進数での小数点以下の有効桁数を整数で指定します。
正の整数を指定した場合、Float を返します。
小数点以下を、最大 n 桁にします。
負の整数を指定した場合、Integer を返します。
小数点位置から左に少なくとも n 個の 0 が並びます。
//emlist[例][ruby]{
2.8.truncate # => 2
(-2.8).truncate ... -
Hash
# transform _ values -> Enumerator (37522.0) -
すべての値に対してブロックを呼び出した結果で置き換えたハッシュを返します。 キーは変化しません。
すべての値に対してブロックを呼び出した結果で置き換えたハッシュを返します。
キーは変化しません。
@return 置き換えたハッシュを返します。
ブロックが与えられなかった場合は、Enumerator オブジェクトを
返します。
//emlist[例][ruby]{
h = { a: 1, b: 2, c: 3 }
h.transform_values {|v| v * v + 1 } #=> { a: 2, b: 5, c: 10 }
h.transform_values(&:to_s) #=> { a: "1", b: "2", ... -
Hash
# transform _ values! -> Enumerator (37522.0) -
すべての値に対してブロックを呼び出した結果でハッシュの値を変更します。 キーは変化しません。
すべての値に対してブロックを呼び出した結果でハッシュの値を変更します。
キーは変化しません。
@return transform_values! は常に self を返します。
ブロックが与えられなかった場合は、Enumerator オブジェクトを
返します。
//emlist[例][ruby]{
h = { a: 1, b: 2, c: 3 }
h.transform_values! {|v| v * v + 1 } #=> { a: 2, b: 5, c: 10 }
h.transform_values!(&:to_s) #=> ... -
Kernel
# require(path) -> bool (37522.0) -
RubyGems を require すると、Kernel#require が Gem を 要求されたときにロードするように置き換えます。
RubyGems を require すると、Kernel#require が Gem を
要求されたときにロードするように置き換えます。
再定義された Kernel#require を呼び出すと以下の事を行います。
Ruby のロードパスに存在するライブラリを指定した場合はそのままロードします。
そうではなく、インストールされた Gem ファイルの中から見つかった場合は、
その Gem をロードパスに登録します。
@param path ロードしたいライブラリの名前を指定します。
@return 既にロードされているライブラリを再度ロードしようとした場合は false を返します。
... -
Matrix
# collect!(which = :all) -> Enumerator (37522.0) -
行列の各要素に対してブロックの適用を繰り返した結果で要素を置き換えます。
行列の各要素に対してブロックの適用を繰り返した結果で要素を置き換えます。
ブロックのない場合は、自身と map! から生成した Enumerator オブジェクトを返します。
@param which which に以下の Symbol を指定することで、
引数として使われる要素を限定できます。
デフォルトは、:all (全ての要素)です。
指定できる Symbol の詳細は、 Matrix#each の項目を参照して下さい。
//emlist[例][ruby]{
require 'matrix'
... -
Matrix
# collect(which = :all) -> Enumerator (37522.0) -
行列の各要素に対してブロックの適用を繰り返した結果を、要素として持つ行列を生成します。
行列の各要素に対してブロックの適用を繰り返した結果を、要素として持つ行列を生成します。
ブロックがない場合、 Enumerator を返します。
@param which which に以下の Symbol を指定することで、
引数として使われる要素を限定できます。
デフォルトは、:all (全ての要素)です。
指定できる Symbol の詳細は、 Matrix#each の項目を参照して下さい。
//emlist[例][ruby]{
require 'matrix'
m = Matrix[[1, ... -
Matrix
# collect(which = :all) {|x| . . . } -> Matrix (37522.0) -
行列の各要素に対してブロックの適用を繰り返した結果を、要素として持つ行列を生成します。
行列の各要素に対してブロックの適用を繰り返した結果を、要素として持つ行列を生成します。
ブロックがない場合、 Enumerator を返します。
@param which which に以下の Symbol を指定することで、
引数として使われる要素を限定できます。
デフォルトは、:all (全ての要素)です。
指定できる Symbol の詳細は、 Matrix#each の項目を参照して下さい。
//emlist[例][ruby]{
require 'matrix'
m = Matrix[[1, ... -
Matrix
# rectangular -> [Matrix , Matrix] (37522.0) -
行列を実部と虚部に分解したものを返します。
行列を実部と虚部に分解したものを返します。
//emlist[例][ruby]{
m.rect == [m.real, m.imag] # ==> true for all matrices m
//}
@see Matrix#imaginary, Matrix#real -
String
# each _ grapheme _ cluster -> Enumerator (37522.0) -
文字列の書記素クラスタに対して繰り返します。
文字列の書記素クラスタに対して繰り返します。
String#each_char と違って、
Unicode Standard Annex #29 (https://unicode.org/reports/tr29/)
で定義された書記素クラスタに対して繰り返します。
//emlist[例][ruby]{
"a\u0300".each_char.to_a.size # => 2
"a\u0300".each_grapheme_cluster.to_a.size # => 1
//}
@see String#grapheme_clusters -
Enumerator
:: Lazy # enum _ for(method = :each , *args) -> Enumerator :: Lazy (37294.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 # enum _ for(method = :each , *args) {|*args| block} -> Enumerator :: Lazy (37294.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) ... -
CSV
:: Table # values _ at(indices _ or _ headers) -> Array (37279.0) -
デフォルトのミックスモードでは、インデックスのリストを与えると行単位の 参照を行い、行の配列を返します。他の方法は列単位の参照と見なします。行 単位の参照では、返り値は行ごとの配列を要素に持つ配列です。
デフォルトのミックスモードでは、インデックスのリストを与えると行単位の
参照を行い、行の配列を返します。他の方法は列単位の参照と見なします。行
単位の参照では、返り値は行ごとの配列を要素に持つ配列です。
探索方法を変更したい場合は CSV::Table#by_col!,
CSV::Table#by_row! を使用してください。
アクセスモードを混在させることはできません。
//emlist[例 ロウモード][ruby]{
require "csv"
row1 = CSV::Row.new(["header1", "header2"], ["row1_1", "row1_2"])
r... -
Enumerable
# slice _ before {|elt| bool } -> Enumerator (37276.0) -
パターンがマッチした要素、もしくはブロックが真を返した要素から 次にマッチする手前までを チャンク化(グループ化)したものを繰り返す Enumerator を 返します。
パターンがマッチした要素、もしくはブロックが真を返した要素から
次にマッチする手前までを
チャンク化(グループ化)したものを繰り返す Enumerator を
返します。
パターンを渡した場合は各要素に対し === が呼び出され、
それが真になったところをチャンクの先頭と見なします。
ブロックを渡した場合は、各要素に対しブロックを適用し
返り値が真であった要素をチャンクの先頭と見なします。
より厳密にいうと、「先頭要素」の手前で分割していきます。
最初の要素の評価は無視されます。
各チャンクは配列として表現されます。
Enumerable#to_a や Enumerable#map ... -
Complex
# to _ r -> Rational (37261.0) -
自身を Rational に変換します。
自身を Rational に変換します。
@param eps 許容する誤差。常に無視されます。
@raise RangeError 虚部が実数か、0 ではない場合に発生します。
//emlist[例][ruby]{
Complex(3).to_r # => (3/1)
Complex(3, 2).to_r # => RangeError
//} -
Rational
# to _ r -> Rational (37261.0) -
自身を返します。
自身を返します。
@return 自身を返します。
//emlist[例][ruby]{
Rational(3, 4).to_r # => (3/4)
Rational(8).to_r # => (8/1)
//} -
Float
# to _ r -> Rational (37243.0) -
自身を Rational に変換します。
自身を Rational に変換します。
//emlist[例][ruby]{
0.5.to_r # => (1/2)
//} -
Enumerator
:: Lazy # collect {|item| . . . } -> Enumerator :: Lazy (37240.0) -
Enumerable#map と同じですが、配列ではなくEnumerator::Lazy を返します。
Enumerable#map と同じですが、配列ではなくEnumerator::Lazy を返します。
@raise ArgumentError ブロックを指定しなかった場合に発生します。
//emlist[例][ruby]{
1.step.lazy.map{ |n| n % 3 == 0 }
# => #<Enumerator::Lazy: #<Enumerator::Lazy: #<Enumerator: 1:step>>:map>
1.step.lazy.collect{ |n| n.succ }.take(10).force
# => [2, 3, 4, 5, 6, 7, 8,... -
Enumerator
:: Lazy # find _ all {|item| . . . } -> Enumerator :: Lazy (37240.0) -
Enumerable#select と同じですが、配列ではなくEnumerator::Lazy を返します。
Enumerable#select と同じですが、配列ではなくEnumerator::Lazy を返します。
@raise ArgumentError ブロックを指定しなかった場合に発生します。
//emlist[例][ruby]{
1.step.lazy.find_all { |i| i.even? }
# => #<Enumerator::Lazy: #<Enumerator::Lazy: #<Enumerator: 1:step>>:find_all>
1.step.lazy.select { |i| i.even? }.take(10).force
# => [2, 4, 6,... -
Enumerator
:: Lazy # reject {|item| . . . } -> Enumerator :: Lazy (37240.0) -
Enumerable#reject と同じですが、配列ではなくEnumerator::Lazy を返します。
Enumerable#reject と同じですが、配列ではなくEnumerator::Lazy を返します。
@raise ArgumentError ブロックを指定しなかった場合に発生します。
//emlist[例][ruby]{
1.step.lazy.reject { |i| i.even? }
# => #<Enumerator::Lazy: #<Enumerator::Lazy: #<Enumerator: 1:step>>:reject>
1.step.lazy.reject { |i| i.even? }.take(10).force
# => [1, 3, 5, 7, ... -
Enumerator
:: Lazy # select {|item| . . . } -> Enumerator :: Lazy (37240.0) -
Enumerable#select と同じですが、配列ではなくEnumerator::Lazy を返します。
Enumerable#select と同じですが、配列ではなくEnumerator::Lazy を返します。
@raise ArgumentError ブロックを指定しなかった場合に発生します。
//emlist[例][ruby]{
1.step.lazy.find_all { |i| i.even? }
# => #<Enumerator::Lazy: #<Enumerator::Lazy: #<Enumerator: 1:step>>:find_all>
1.step.lazy.select { |i| i.even? }.take(10).force
# => [2, 4, 6,... -
Enumerator
:: Lazy # take _ while -> Enumerator :: Lazy (37240.0) -
Enumerable#take_while と同じですが、配列ではなくEnumerator::Lazy を返します。
Enumerable#take_while と同じですが、配列ではなくEnumerator::Lazy を返します。
//emlist[例][ruby]{
1.step.lazy.zip(('a'..'z').cycle).take_while { |e| e.first < 100_000 }
# => #<Enumerator::Lazy: #<Enumerator::Lazy: #<Enumerator::Lazy: #<Enumerator: 1:step>>:zip(#<Enumerator: "a".."z":cycle>)>:take_while>
1.step.lazy.... -
Enumerator
:: Lazy # take _ while {|item| . . . } -> Enumerator :: Lazy (37240.0) -
Enumerable#take_while と同じですが、配列ではなくEnumerator::Lazy を返します。
Enumerable#take_while と同じですが、配列ではなくEnumerator::Lazy を返します。
//emlist[例][ruby]{
1.step.lazy.zip(('a'..'z').cycle).take_while { |e| e.first < 100_000 }
# => #<Enumerator::Lazy: #<Enumerator::Lazy: #<Enumerator::Lazy: #<Enumerator: 1:step>>:zip(#<Enumerator: "a".."z":cycle>)>:take_while>
1.step.lazy.... -
REXML
:: Attributes # delete _ all(name) -> [REXML :: Attribute] (37240.0) -
name という名前を持つ属性をすべて削除します。
name という名前を持つ属性をすべて削除します。
削除された属性を配列で返します。
@param 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 = doc.get_elem... -
Rational
# ceil(precision = 0) -> Integer | Rational (37240.0) -
自身と等しいかより大きな整数のうち最小のものを返します。
自身と等しいかより大きな整数のうち最小のものを返します。
@param precision 計算結果の精度
@raise TypeError precision に整数以外のものを指定すると発生します。
//emlist[例][ruby]{
Rational(3).ceil # => 3
Rational(2, 3).ceil # => 1
Rational(-3, 2).ceil # => -1
//}
precision を指定した場合は指定した桁数の数値と、上述の性質に最も近い整
数か Rational を返します。
//emlist[例][ruby]{
Ra... -
Rational
# round(precision = 0) -> Integer | Rational (37240.0) -
自身ともっとも近い整数を返します。
自身ともっとも近い整数を返します。
中央値 0.5, -0.5 はそれぞれ 1,-1 に切り上げされます。
@param precision 計算結果の精度
@raise TypeError precision に整数以外のものを指定すると発生します。
//emlist[例][ruby]{
Rational(3).round # => 3
Rational(2, 3).round # => 1
Rational(-3, 2).round # => -2
//}
precision を指定した場合は指定した桁数の数値と、上述の性質に最も近い整
数か Rational を返し... -
RubyVM
:: InstructionSequence # to _ binary(extra _ data = nil) -> String (37240.0) -
バイナリフォーマットでシリアライズされたiseqのデータを文字列として返します。 RubyVM::InstructionSequence.load_from_binary メソッドでバイナリデータに対応するiseqオブジェクトを作れます。
バイナリフォーマットでシリアライズされたiseqのデータを文字列として返します。
RubyVM::InstructionSequence.load_from_binary メソッドでバイナリデータに対応するiseqオブジェクトを作れます。
引数の extra_data はバイナリデータと共に保存されます。
RubyVM::InstructionSequence.load_from_binary_extra_data メソッドでこの文字列にアクセス出来ます。
注意: 変換後のバイナリデータはポータブルではありません。 to_binary で得たバイナリデータは他のマシンに移動できません。他... -
StringIO
# truncate(len) -> Integer (37240.0) -
自身のサイズが len になるように、自身を切り詰め、もしくは拡大します。 拡大した場合は、その部分を 0 で埋めます。 len を返します。
自身のサイズが len になるように、自身を切り詰め、もしくは拡大します。
拡大した場合は、その部分を 0 で埋めます。
len を返します。
@param len 変更したいサイズを整数で指定します。
@raise IOError 自身が書き込み可能でない時に発生します。
@raise Errno::EINVAL len がマイナスの時に発生します。
//emlist[例][ruby]{
require "stringio"
a = StringIO.new("hoge", 'r+')
a.truncate(2)
a.string #=>... -
Array
# drop _ while -> Enumerator (37222.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
# filter! -> Enumerator (37222.0) -
ブロックが真を返した要素を残し、偽を返した要素を自身から削除します。 変更があった場合は self を、 変更がなかった場合には nil を返します。
ブロックが真を返した要素を残し、偽を返した要素を自身から削除します。
変更があった場合は self を、
変更がなかった場合には nil を返します。
//emlist[例][ruby]{
a = %w{ a b c d e f }
a.select! {|v| v =~ /[a-z]/ } # => nil
a # => ["a", "b", "c", "d", "e", "f"]
//}
ブロックが与えられなかった場合は、自身と select! から生成した
Enumerator オブジェクトを返します。
@see Array#keep_if, Array#reject! -
Array
# rotate!(cnt = 1) -> self (37222.0) -
cnt で指定したインデックスの要素が先頭になるように自身の順番を変更しま す。cnt より前の要素は末尾に移動します。cnt に負の数を指定した場合、逆 の操作を行います。
cnt で指定したインデックスの要素が先頭になるように自身の順番を変更しま
す。cnt より前の要素は末尾に移動します。cnt に負の数を指定した場合、逆
の操作を行います。
@param cnt 先頭にする要素のインデックスを指定します。指定しなかった場合
は 1 になります。
整数以外のオブジェクトを指定した場合は to_int メソッドによる
暗黙の型変換を試みます。
@raise TypeError 引数に整数以外の(暗黙の型変換が行えない)オブジェクトを
指定した場合に発生します... -
Enumerable
# chunk _ while {|elt _ before , elt _ after| . . . } -> Enumerator (37222.0) -
要素を前から順にブロックで評価し、その結果によって要素をチャンクに分け た(グループ化した)要素を持つEnumerator を返します。
要素を前から順にブロックで評価し、その結果によって要素をチャンクに分け
た(グループ化した)要素を持つEnumerator を返します。
隣り合う値をブロックパラメータ elt_before、elt_after に渡し、ブロックの
評価値が偽になる所でチャンクを区切ります。
ブロックは self の長さ - 1 回呼び出されます。
@return チャンクごとの配列をブロックパラメータに渡す Enumerator
を返します。eachメソッドは以下のように呼び出します。
//emlist{
enum.chunk_while { |elt_before, elt_af... -
Enumerable
# collect -> Enumerator (37222.0) -
各要素に対してブロックを評価した結果を全て含む配列を返します。
各要素に対してブロックを評価した結果を全て含む配列を返します。
ブロックを省略した場合は Enumerator を返します。
//emlist[例][ruby]{
# すべて 3 倍にした配列を返す
p (1..3).map {|n| n * 3 } # => [3, 6, 9]
p (1..3).collect { "cat" } # => ["cat", "cat", "cat"]
//}
@see Hash#to_h, Array#collect, Array#map -
Enumerable
# cycle(n=nil) -> Enumerator (37222.0) -
Enumerable オブジェクトの各要素を n 回 or 無限回(n=nil)繰り返し ブロックを呼びだします。
Enumerable オブジェクトの各要素を n 回 or 無限回(n=nil)繰り返し
ブロックを呼びだします。
n に 0 もしくは負の値を渡した場合は何もしません。
繰り返しが最後まで終了した場合(つまりbreakなどで中断しなかった場合)
は nil を返します。
このメソッドは内部の配列に各要素を保存しておくため、
一度 Enumerable の終端に到達した後に自分自身を変更しても
このメソッドの動作に影響を与えません。
//emlist[例][ruby]{
a = ["a", "b", "c"]
a.cycle {|x| puts x } # print, a, b, c,... -
Enumerable
# filter _ map -> Enumerator (37222.0) -
各要素に対してブロックを評価した値のうち、真であった値の 配列を返します。
各要素に対してブロックを評価した値のうち、真であった値の
配列を返します。
ブロックを省略した場合は Enumerator を返します。
//emlist[例][ruby]{
(1..10).filter_map { |i| i * 2 if i.even? } #=> [4, 8, 12, 16, 20]
//}
@see Enumerable#filter, Enumerable#map -
Enumerable
# take _ while -> Enumerator (37222.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 -
Enumerator
:: Lazy # drop(n) -> Enumerator :: Lazy (37222.0) -
Enumerable#drop と同じですが、配列ではなくEnumerator::Lazy を返します。
Enumerable#drop と同じですが、配列ではなくEnumerator::Lazy を返します。
@param n 要素数を指定します。
@raise ArgumentError n に負の数を指定した場合に発生します。
//emlist[例][ruby]{
1.step.lazy.drop(3)
# => #<Enumerator::Lazy: #<Enumerator::Lazy: #<Enumerator: 1:step>>:drop(3)>
1.step.lazy.drop(3).take(10).force
# => [4, 5, 6, 7, 8, 9, 10, 1... -
Enumerator
:: Lazy # eager -> Enumerator (37222.0) -
自身を遅延評価しない Enumerator に変換して返します。
自身を遅延評価しない Enumerator に変換して返します。
//emlist[例][ruby]{
lazy_enum = (1..).each.lazy
# select が遅延評価されるので終了する
p lazy_enum.class # => Enumerator::Lazy
p lazy_enum.select { |n| n.even? }.first(5)
# => [2, 4, 6, 8, 10]
# select が遅延評価されないので終了しない
enum = lazy_enum.eager
p enum.class # => Enumerator
p enum.s... -
Enumerator
:: Lazy # slice _ when {|elt _ before , elt _ after| bool } -> Enumerator :: Lazy (37222.0) -
Enumerable#slice_when と同じですが、配列ではなく Enumerator::Lazy を返します。
Enumerable#slice_when と同じですが、配列ではなく Enumerator::Lazy を返します。
//emlist[例][ruby]{
1.step.lazy.slice_when { |i, j| (i + j) % 5 == 0 }
# => #<Enumerator::Lazy: #<Enumerator: #<Enumerator::Generator:0x00007fce84118348>:each>>
1.step.lazy.slice_when { |i, j| (i + j) % 5 == 0 }.take(5).force
# => [[1, 2]... -
Float
# round(ndigits = 0) -> Integer | Float (37222.0) -
自身ともっとも近い整数もしくは実数を返します。
自身ともっとも近い整数もしくは実数を返します。
中央値 0.5, -0.5 はそれぞれ 1,-1 に切り上げされます。
いわゆる四捨五入ですが、偶数丸めではありません。
@param ndigits 丸める位を指定します。
ndigitsが0ならば、小数点以下を四捨五入し、整数を返します。
ndigitsが0より大きいならば、小数点以下の指定された位で四捨五入されます。
ndigitsが0より小さいならば、小数点以上の指定された位で四捨五入されます。
@param half ちょうど半分の値の丸め方を指定します。
サポートされている... -
Float
# round(ndigits = 0 , half: :up) -> Integer | Float (37222.0) -
自身ともっとも近い整数もしくは実数を返します。
自身ともっとも近い整数もしくは実数を返します。
中央値 0.5, -0.5 はそれぞれ 1,-1 に切り上げされます。
いわゆる四捨五入ですが、偶数丸めではありません。
@param ndigits 丸める位を指定します。
ndigitsが0ならば、小数点以下を四捨五入し、整数を返します。
ndigitsが0より大きいならば、小数点以下の指定された位で四捨五入されます。
ndigitsが0より小さいならば、小数点以上の指定された位で四捨五入されます。
@param half ちょうど半分の値の丸め方を指定します。
サポートされている... -
Hash
# filter! -> Enumerator (37222.0) -
キーと値を引数としてブロックを評価した結果が真であるような要素を self に残します。
キーと値を引数としてブロックを評価した結果が真であるような要素を self
に残します。
keep_if は常に self を返します。
filter! と select! はオブジェクトが変更された場合に self を、
されていない場合に nil を返します。
ブロックが与えられなかった場合は、自身と keep_if から生成した
Enumerator オブジェクトを返します。
//emlist[例][ruby]{
h1 = {}
c = ("a".."g")
c.each_with_index {|e, i| h1[i] = e }
h2 = h1.dup
h1.select!... -
Hash
# flatten(level = 1) -> Array (37222.0) -
自身を平坦化した配列を生成して返します。
自身を平坦化した配列を生成して返します。
全てのキーと値を新しい配列の要素として展開します。
Array#flatten と違って、デフォルトではこのメソッドは自身を
再帰的に平坦化しません。level を指定すると指定されたレベルまで
再帰的に平坦化します。
@param level 展開するレベル
//emlist[例][ruby]{
a = {1=> "one", 2 => [2,"two"], 3 => "three"}
a.flatten #=> [1, "one", 2, [2, "two"], 3, "three"]
a.flatten(1) #=> [1, ... -
JSON
:: Generator :: GeneratorMethods :: Hash # to _ json(state _ or _ hash = nil) -> String (37222.0) -
自身から生成した JSON 形式の文字列を返します。
自身から生成した JSON 形式の文字列を返します。
@param state_or_hash 生成する JSON 形式の文字列をカスタマイズするため
に JSON::State のインスタンスか、
JSON::State.new の引数と同じ Hash を
指定します。
//emlist[例][ruby]{
require "json"
person = { "name" => "tanaka", "age" => 19 }
person.to_json # ... -
JSON
:: Generator :: GeneratorMethods :: Integer # to _ json(state _ or _ hash = nil) -> String (37222.0) -
自身から生成した JSON 形式の文字列を返します。
自身から生成した JSON 形式の文字列を返します。
@param state_or_hash 生成する JSON 形式の文字列をカスタマイズするため
に JSON::State のインスタンスか、
JSON::State.new の引数と同じ Hash を
指定します。
//emlist[例][ruby]{
require "json"
10.to_json # => "10"
//} -
JSON
:: Generator :: GeneratorMethods :: Object # to _ json(state _ or _ hash = nil) -> String (37222.0) -
自身を to_s で文字列にした結果を JSON 形式の文字列に変換して返します。
自身を to_s で文字列にした結果を JSON 形式の文字列に変換して返します。
このメソッドはあるオブジェクトに to_json メソッドが定義されていない場合に使用する
フォールバックのためのメソッドです。
@param state_or_hash 生成する JSON 形式の文字列をカスタマイズするため
に JSON::State のインスタンスか、
JSON::State.new の引数と同じ Hash を
指定します。
//emlist[例][ruby... -
JSON
:: Generator :: GeneratorMethods :: String # to _ json(state _ or _ hash = nil) -> String (37222.0) -
自身から生成した JSON 形式の文字列を返します。
自身から生成した JSON 形式の文字列を返します。
自身のエンコードは UTF-8 であるべきです。
"\u????" のように UTF-16 ビッグエンディアンでエンコードされた文字列を返すことがあります。
@param state_or_hash 生成する JSON 形式の文字列をカスタマイズするため
に JSON::State のインスタンスか、
JSON::State.new の引数と同じ Hash を
指定します。
//emlist[例][ruby]... -
Matrix
:: LUPDecomposition # solve(b) -> Vector | Matrix (37222.0) -
self が正方行列 A の LUP 分解の時、一次方程式 Ax = b の解を返します。 b には Vector, Matrix, 数値の配列を指定出来ます。
self が正方行列 A の LUP 分解の時、一次方程式 Ax = b の解を返します。
b には Vector, Matrix, 数値の配列を指定出来ます。
それぞれベクトルのサイズ、行列の行数、配列のサイズが A の列数と一致していなければなりません。
返り値は b が行列なら行列、それ以外はベクトルになります。
@param b 一次方程式の定数項を指定します。
//emlist[][ruby]{
require 'matrix'
lup = Matrix[[2, 1], [1, 2]].lup
lup.solve([1, -1]) #=> ... -
Rake
:: FileList # pathmap(spec = nil) -> Rake :: FileList (37222.0) -
各要素に String#pathmap を適用した新しい Rake::FileList を返します。
各要素に String#pathmap を適用した新しい Rake::FileList を返します。
//emlist[][ruby]{
# Rakefile での記載例とする
task default: :test_rake_app
task :test_rake_app do
file_list = FileList.new("test1.rb", "test2.rb", "test3.rb")
file_list.pathmap("%n") # => ["test1", "test2", "test3"]
end
//}
@see String#pathmap -
StringScanner
# pre _ match -> String | nil (37222.0) -
前回マッチを行った文字列のうち、マッチしたところよりも前の 部分文字列を返します。前回のマッチが失敗していると常に nil を 返します。
前回マッチを行った文字列のうち、マッチしたところよりも前の
部分文字列を返します。前回のマッチが失敗していると常に nil を
返します。
//emlist[例][ruby]{
require 'strscan'
s = StringScanner.new('test string')
s.pre_match # => nil
s.scan(/\w+/) # => "test"
s.pre_match # => ""
s.scan(/\w+/) # => nil
s.pre_match # => nil
s.scan(/\s+/) # => " "
s.pre_match ... -
StringScanner
# terminate -> self (37222.0) -
スキャンポインタを文字列末尾後まで進め、マッチ記録を捨てます。
スキャンポインタを文字列末尾後まで進め、マッチ記録を捨てます。
@return self を返します。
pos = self.string.size と同じ動作です。
//emlist[例][ruby]{
require 'strscan'
s = StringScanner.new('test string')
s.scan(/\w+/) # => "test"
s.matched # => "test"
s.pos # => 4
s[0] # => "test"
s.terminate
s.matched # => nil
s[0]... -
TSort
# each _ strongly _ connected _ component -> Enumerator (37222.0) -
TSort#strongly_connected_components メソッドのイテレータ版です。 obj.each_strongly_connected_component は obj.strongly_connected_components.each に似ていますが、 ブロックの評価中に obj が変更された場合は予期しない結果になる ことがあります。
TSort#strongly_connected_components メソッドのイテレータ版です。
obj.each_strongly_connected_component は
obj.strongly_connected_components.each に似ていますが、
ブロックの評価中に obj が変更された場合は予期しない結果になる
ことがあります。
each_strongly_connected_component は nil を返します。
//emlist[使用例][ruby]{
require 'tsort'
class Hash
include TSort
a... -
Time
# saturday? -> bool (37222.0) -
self の表す時刻が土曜日である場合に true を返します。 そうでない場合に false を返します。
self の表す時刻が土曜日である場合に true を返します。
そうでない場合に false を返します。
//emlist[][ruby]{
t = Time.local(2006, 6, 10) # => 2006-06-10 00:00:00 +0900
p t.saturday? # => true
//} -
REXML
:: Element # xpath -> String (36994.0) -
文書上の対象の要素にのみマッチする xpath 文字列を返します。
文書上の対象の要素にのみマッチする xpath 文字列を返します。
//emlist[][ruby]{
require 'rexml/document'
doc = REXML::Document.new('<a><b/><c/></a>')
c = doc.root.elements[2] # <a> .. </a> の中の <c/> 要素
c # => <c/>
c.xpath # => "/a/c"
doc = REXML::Document.new('<a><b/><b/></a>')
b = doc.root.elements[2] # <a> .. </a> の中の2番目の <b...