別のキーワード
ライブラリ
クラス
-
ARGF
. class (9) - Array (87)
- BasicObject (7)
- BigDecimal (17)
- Binding (3)
- CSV (5)
-
CSV
:: Row (3) -
CSV
:: Table (9) - Class (1)
- Complex (7)
- Data (9)
- Date (5)
- Dir (10)
- Enumerator (6)
-
Enumerator
:: Lazy (1) - Exception (4)
- Fiber (4)
- File (2)
-
File
:: Stat (1) - Float (13)
- FrozenError (1)
-
Gem
:: Version (4) - Hash (54)
- IO (28)
- Integer (47)
-
JSON
:: State (2) - MatchData (8)
- Matrix (22)
-
Matrix
:: LUPDecomposition (1) - Method (13)
- Module (42)
- Numeric (31)
- Object (25)
-
OpenSSL
:: BN (11) - OpenStruct (2)
- OptionParser (20)
- Pathname (38)
-
Prime
:: PseudoPrimeGenerator (4) - Proc (5)
-
Psych
:: Stream (2) -
REXML
:: Attributes (3) -
REXML
:: Child (2) -
REXML
:: Element (9) -
Rake
:: FileList (6) - Random (3)
- Range (13)
- Rational (8)
- Refinement (1)
- Regexp (1)
-
Resolv
:: DNS :: Name (1) -
RubyVM
:: AbstractSyntaxTree :: Node (7) -
RubyVM
:: InstructionSequence (10) - Set (23)
- SignalException (2)
- String (129)
- StringIO (6)
- StringScanner (6)
- Struct (13)
- Symbol (5)
- Thread (5)
-
Thread
:: Backtrace :: Location (6) -
Thread
:: ConditionVariable (2) -
Thread
:: Mutex (2) -
Thread
:: SizedQueue (1) - ThreadGroup (2)
- Time (15)
- TracePoint (7)
- UnboundMethod (5)
- UncaughtThrowError (1)
- Vector (8)
-
WIN32OLE
_ TYPE (1)
モジュール
- Comparable (3)
- Enumerable (35)
-
OptionParser
:: Arguable (2)
キーワード
- ! (1)
- != (1)
- !~ (1)
- % (5)
- & (1)
- * (3)
- ** (1)
- + (3)
- +@ (2)
- - (1)
- -@ (4)
-
/ (1) - < (4)
- << (10)
- <= (4)
- <=> (13)
- == (10)
- === (5)
- =~ (1)
- > (4)
- >= (4)
- >> (3)
- [] (10)
- []= (8)
-
_ dump (1) - abbrev (1)
- abs (3)
- abs2 (1)
- absolute? (1)
-
absolute
_ path (2) - add (2)
- add? (1)
-
add
_ namespace (2) -
add
_ row (1) - allbits? (1)
-
angle
_ with (1) - anybits? (1)
- append (1)
-
append
_ features (1) - ascend (2)
- atime (1)
- autoload (1)
- b (1)
-
backtrace
_ locations (2) -
base
_ label (2) - basename (1)
- between? (1)
- bind (1)
-
bind
_ call (2) - binmode (2)
- binread (1)
-
bit
_ length (1) - broadcast (1)
- bsearch (2)
-
bsearch
_ index (2) -
by
_ col! (1) -
by
_ col _ or _ row! (1) -
by
_ row! (1) - byterindex (1)
- bytes (2)
- call (2)
- capitalize! (1)
- casecmp (1)
- casecmp? (1)
- cause (1)
- ceil (3)
- ceildiv (1)
- center (1)
- chars (2)
- children (3)
- chomp (1)
- chomp! (1)
- chop! (1)
- chown (1)
- chr (3)
-
chunk
_ while (1) - clamp (2)
- class (1)
-
class
_ eval (2) -
class
_ exec (1) - clear (5)
-
clear
_ bit! (1) -
clear
_ exclude (1) - clone (2)
- close (3)
- closed? (1)
- codepoints (2)
- coerce (6)
- collect! (7)
- column (2)
- combination (2)
- compact (3)
- compact! (2)
-
compare
_ by _ identity (1) - concat (5)
- configure (1)
- conj (1)
- conjugate (1)
-
const
_ added (1) - count (1)
- covector (1)
- cover? (2)
- crypt (1)
- ctime (1)
- curry (2)
- deconstruct (1)
-
deconstruct
_ keys (2) - dedup (1)
- default (2)
-
default
_ event _ sources (1) -
define
_ singleton _ method (2) -
defined
_ class (1) - delete (4)
- delete! (1)
- delete? (1)
-
delete
_ if (8) -
delete
_ namespace (1) -
delete
_ prefix! (1) -
delete
_ suffix! (1) -
deprecate
_ constant (1) - descend (2)
- difference (1)
- dig (3)
- digits (2)
- dirname (1)
- disable (2)
- disasm (1)
- disassemble (1)
- disjoint? (1)
- display (1)
- div (1)
- divmod (3)
- downcase! (1)
- downto (2)
- dup (2)
- each (28)
-
each
_ byte (6) -
each
_ char (4) -
each
_ child (4) -
each
_ codepoint (6) -
each
_ cons (2) -
each
_ entry (4) -
each
_ filename (1) -
each
_ grapheme _ cluster (2) -
each
_ index (2) -
each
_ key (2) -
each
_ line (12) -
each
_ pair (4) -
each
_ slice (2) -
each
_ value (2) -
each
_ with _ index (6) - eigen (1)
- eigensystem (1)
- empty? (1)
- enable (2)
- encode (3)
- encode! (2)
-
end
_ with? (2) - entries (2)
-
enum
_ for (2) - eql? (5)
- equal? (3)
- eval (2)
- exception (2)
- existing! (1)
- extend (1)
-
extend
_ object (1) - extended (1)
- fdiv (3)
-
fetch
_ values (2) - fileno (1)
- fill (6)
- filter! (4)
- finite? (1)
-
first
_ column (1) -
first
_ lineno (2) - flatten (2)
- flatten! (2)
- floor (3)
- flush (1)
- fnmatch (1)
-
force
_ encoding (1) - freeze (2)
- friday? (1)
- gcd (1)
- gcdlcm (1)
- getbyte (1)
- getc (1)
- gmt? (1)
- gmtime (1)
-
grapheme
_ clusters (2) - gsub! (5)
-
has
_ elements? (1) - hash (3)
- hex (1)
- hstack (1)
- i (1)
- import (1)
-
import
_ methods (1) - include (1)
- include? (1)
- included (1)
-
included
_ modules (1) - infinite? (1)
- inherited (1)
-
initialize
_ copy (1) - inject (3)
- insert (2)
- inspect (12)
-
instance
_ eval (2) -
instance
_ exec (1) -
instance
_ method (1) - iseuc (1)
- itself (1)
-
keep
_ if (4) - label (2)
-
last
_ column (1) -
last
_ lineno (1) - lazy (1)
- lcm (1)
- length (1)
- lineno (1)
- lines (2)
- list (1)
- ljust (1)
- localtime (2)
- lshift! (1)
- lstrip! (1)
- lup (1)
-
lup
_ decomposition (1) - magnitude (2)
- map! (7)
-
marshal
_ load (1) -
mask
_ bits! (1) - match (2)
- match? (2)
-
max
_ by (4) - merge (4)
- merge! (2)
- minor (2)
-
mod
_ add (1) -
mod
_ exp (1) -
mod
_ inverse (1) -
mod
_ mul (1) -
mod
_ sub (1) -
module
_ eval (2) -
module
_ exec (1) - modulo (2)
- monday? (1)
- mountpoint? (1)
- name= (1)
- names (1)
- namespace (1)
- namespaces (2)
- negative? (3)
- next (2)
- next! (1)
-
next
_ float (1) -
next
_ sibling= (1) -
next
_ year (1) - nobits? (1)
- nonzero? (2)
- offset (2)
- on (12)
-
on
_ head (1) -
on
_ tail (1) - ord (1)
- order! (2)
- owned? (1)
- parent (1)
- parse! (1)
-
parse
_ csv (1) - partition (1)
- path (3)
- permutation (2)
- permute! (1)
- polar (1)
- pos= (1)
- positive? (3)
- pow (2)
- pred (1)
- prefixes (2)
- prepend (2)
-
prepend
_ features (1) - prepended (1)
- prerelease? (1)
-
pretty
_ print (1) -
prev
_ float (1) -
prev
_ year (1) -
previous
_ sibling= (1) -
prime
_ division (1) -
private
_ class _ method (2) -
private
_ constant (1) - product (2)
-
proper
_ subset? (1) -
proper
_ superset? (1) - public (4)
-
public
_ class _ method (2) -
public
_ constant (1) -
public
_ instance _ method (1) - push (2)
- putc (1)
- puts (1)
- quo (1)
- raise (3)
- rand (3)
- rationalize (1)
- read (1)
- readlines (1)
- realpath (2)
- receiver (2)
- rect (1)
- rectangular (1)
- reduce (3)
- rehash (1)
- reject (2)
- reject! (5)
- relative? (1)
-
relative
_ path _ from (1) - release (1)
- remainder (3)
-
remove
_ method (1) - reopen (3)
-
repeated
_ combination (2) -
repeated
_ permutation (2) - replace (4)
- reset (1)
- resolve (1)
- resume (1)
- reverse (1)
- reverse! (2)
-
reverse
_ each (4) - rewind (2)
- rindex (1)
- rjust (1)
- root (1)
- root? (1)
-
root
_ node (1) - rotate! (1)
- round (1)
- row (2)
- rpartition (1)
- rshift! (1)
- rstrip! (1)
- run (1)
- sample (4)
- saturday? (1)
- scan (2)
- scrub (3)
- scrub! (3)
- seek (1)
- select! (4)
-
set
_ bit! (1) - shift (1)
- shuffle! (2)
- signal (1)
- signm (1)
- signo (1)
-
singleton
_ class? (1) -
singleton
_ methods (1) - size (2)
- skip (1)
- slice (6)
-
slice
_ when (1) - solve (1)
- sort (2)
- sort! (2)
-
sort
_ by (2) -
sort
_ by! (2) -
source
_ location (1) - split (3)
- squeeze! (1)
- start (2)
-
start
_ with? (2) - step (12)
- strip! (1)
- sub (2)
- sub! (4)
-
subdomain
_ of? (1) - subset? (1)
- subtract (1)
- succ (2)
- succ! (1)
- sum (2)
- summarize (2)
- sunday? (1)
-
super
_ method (1) - superset? (1)
- swapcase! (1)
- synchronize (1)
- tally (2)
- tap (1)
- terminate (1)
- then (2)
- thursday? (1)
- times (2)
-
to
_ a (4) -
to
_ ary (1) -
to
_ bn (1) -
to
_ c (2) -
to
_ csv (1) -
to
_ enum (2) -
to
_ f (2) -
to
_ h (12) -
to
_ hash (1) -
to
_ i (1) -
to
_ int (2) -
to
_ path (1) -
to
_ proc (4) -
to
_ s (11) -
to
_ str (1) -
tr
_ s! (1) -
transform
_ keys! (3) -
transform
_ values! (2) - truncate (1)
- tuesday? (1)
- type (1)
- unbind (1)
-
undef
_ method (1) - undump (1)
-
unicode
_ normalize (1) -
unicode
_ normalize! (1) -
unicode
_ normalized? (1) - union (1)
- uniq (4)
- uniq! (2)
- unlink (1)
- unscan (1)
- unshift (1)
- upcase! (1)
- update (2)
- upto (3)
- using (1)
- utc (1)
- utc? (1)
- vstack (1)
- wait (1)
-
wait
_ readable (1) - wakeup (1)
- wednesday? (1)
- with (1)
-
with
_ index (2) -
yield
_ self (2) - zero? (1)
- zip (4)
- | (1)
- ~ (1)
検索結果
先頭5件
-
Range
# step(s = 1) {|item| . . . } -> self (361.0) -
範囲内の要素を s おきに繰り返します。
範囲内の要素を s おきに繰り返します。
@param s 各ステップの大きさを数値で指定します。負の数を指定することもできます。
@return ブロックを指定した時は self を返します。
@return ブロックを指定しなかった時かつ数値の Range の時は Enumerator::ArithmeticSequence を返します。
@return ブロックを指定しなかったその他の Range の時は Enumerator を返します。(例: String の Range)
//emlist[例][ruby]{
(1..10).step(3) {|v| p v}
# => 1
... -
String
# capitalize!(*options) -> self | nil (361.0) -
文字列先頭の文字を大文字に、残りを小文字に破壊的に変更します。
文字列先頭の文字を大文字に、残りを小文字に破壊的に変更します。
@param options オプションの詳細は String#downcase を参照してください。
@return capitalize! は self を変更して返しますが、
変更が起こらなかった場合は nil を返します。
//emlist[例][ruby]{
str = "foobar"
str.capitalize!
p str # => "Foobar"
str = "fooBAR"
str.capitalize!
p str # => "Foobar"
//}
@see Stri... -
String
# chop! -> self | nil (361.0) -
文字列の最後の文字を取り除きます。 ただし、終端が "\r\n" であればその 2 文字を取り除きます。
文字列の最後の文字を取り除きます。
ただし、終端が "\r\n" であればその 2 文字を取り除きます。
@return chop! は self を変更して返しますが、取り除く文字がなかった場合は nil を返します。
//emlist[例][ruby]{
str = "string\r\n"
ret = str.chop!
ret # => "string"
str # => "string"
str.chop! # => "strin"
"".chop! # => ni... -
String
# downcase!(*options) -> self | nil (361.0) -
全ての大文字を対応する小文字に破壊的に置き換えます。 どの文字がどう置き換えられるかは、オプションの有無や文字列のエンコーディングに依存します。
全ての大文字を対応する小文字に破壊的に置き換えます。
どの文字がどう置き換えられるかは、オプションの有無や文字列のエンコーディングに依存します。
@param options オプションの詳細は String#downcase を参照してください。
@return self を変更して返します。変更が無かった場合は nil を返します。
//emlist[例][ruby]{
str = "STRing?"
str.downcase!
p str # => "string?"
//}
@see String#downcase, String#upcase!, String#swapc... -
String
# lstrip! -> self | nil (361.0) -
文字列の先頭にある空白文字を全て破壊的に取り除きます。 空白文字の定義は " \t\r\n\f\v\0" です。
文字列の先頭にある空白文字を全て破壊的に取り除きます。
空白文字の定義は " \t\r\n\f\v\0" です。
lstrip! は self を変更して返します。
ただし取り除く空白がなかったときは nil を返します。
//emlist[例][ruby]{
str = " abc"
p str.lstrip! # => "abc"
p str # => "abc"
str = "abc"
p str.lstrip! # => nil
p str # => "abc"
//} -
String
# strip! -> self | nil (361.0) -
先頭と末尾の空白文字を全て破壊的に取り除きます。 空白文字の定義は " \t\r\n\f\v\0" です。
先頭と末尾の空白文字を全て破壊的に取り除きます。
空白文字の定義は " \t\r\n\f\v\0" です。
strip! は、内容を変更した self を返します。
ただし取り除く空白がなかったときは nil を返します。
//emlist[例][ruby]{
str = " abc\r\n"
p str.strip! #=> "abc"
p str #=> "abc"
str = "abc"
p str.strip! #=> nil
p str #=> "abc"
str = " \0 abc \0"
str.st... -
String
# swapcase!(*options) -> self | nil (361.0) -
大文字を小文字に、小文字を大文字に破壊的に変更します。
大文字を小文字に、小文字を大文字に破壊的に変更します。
@param options オプションの詳細は String#downcase を参照してください。
swapcase! は self を変更して返しますが、
置換が起こらなかった場合は nil を返します。
このメソッドはマルチバイト文字を認識しません。
//emlist[例][ruby]{
str = "ABCxyz"
str.swapcase!
p str # => "abcXYZ"
//}
@see String#swapcase, String#upcase!, String#downcase!, String... -
StringScanner
# reset -> self (361.0) -
スキャンポインタを文字列の先頭 (インデックス 0) に戻し、 マッチ記録を捨てます。
スキャンポインタを文字列の先頭 (インデックス 0) に戻し、
マッチ記録を捨てます。
pos = 0と同じ動作です。
@return self を返します。
//emlist[例][ruby]{
require 'strscan'
s = StringScanner.new('test string')
s.scan(/\w+/) # => "test"
s.matched # => "test"
s.pos # => 4
s[0] # => "test"
s.reset
s.matched # => nil
s[0] ... -
Thread
:: ConditionVariable # broadcast -> self (361.0) -
状態変数を待っているスレッドをすべて再開します。再開された スレッドは Thread::ConditionVariable#wait で指定した mutex のロックを試みます。
状態変数を待っているスレッドをすべて再開します。再開された
スレッドは Thread::ConditionVariable#wait
で指定した mutex のロックを試みます。
@return 常に self を返します。
//emlist[例][ruby]{
mutex = Mutex.new
cv = ConditionVariable.new
flg = true
3.times {
Thread.start {
mutex.synchronize {
puts "a1"
while (flg)
cv.wait(mutex)
... -
Thread
:: ConditionVariable # signal -> self (361.0) -
状態変数を待っているスレッドを1つ再開します。再開された スレッドは Thread::ConditionVariable#wait で指定した mutex のロックを試みます。
状態変数を待っているスレッドを1つ再開します。再開された
スレッドは Thread::ConditionVariable#wait
で指定した mutex のロックを試みます。
@return 常に self を返します。
//emlist[例][ruby]{
mutex = Mutex.new
cv = ConditionVariable.new
flg = true
3.times {
Thread.start {
mutex.synchronize {
puts "a1"
while (flg)
cv.wait(mutex)
... -
Array
# concat(*other _ arrays) -> self (352.0) -
other_arrays の要素を自身の末尾に破壊的に連結します。
other_arrays の要素を自身の末尾に破壊的に連結します。
@param other_arrays 自身と連結したい配列を指定します。
//emlist[例][ruby]{
[ "a", "b" ].concat( ["c", "d"] ) #=> [ "a", "b", "c", "d" ]
[ "a" ].concat( ["b"], ["c", "d"] ) #=> [ "a", "b", "c", "d" ]
[ "a" ].concat #=> [ "a" ]
a = [ 1, 2, 3 ]
a.concat( [ 4, 5 ] )
a ... -
Array
# concat(other) -> self (352.0) -
配列 other を自身の末尾に破壊的に連結します。
配列 other を自身の末尾に破壊的に連結します。
@param other 自身と連結したい配列を指定します。
//emlist[例][ruby]{
array = [1, 2]
a = [3, 4]
array.concat a
p array # => [1, 2, 3, 4]
p a # => [3, 4] # こちらは変わらない
//} -
String
# scan(pattern) {|s| . . . } -> self (352.0) -
pattern がマッチした部分文字列をブロックに渡して実行します。 pattern が正規表現で括弧を含む場合は、 括弧で括られたパターンにマッチした文字列の配列を渡します。
pattern がマッチした部分文字列をブロックに渡して実行します。
pattern が正規表現で括弧を含む場合は、
括弧で括られたパターンにマッチした文字列の配列を渡します。
@param pattern 探索する部分文字列または正規表現
//emlist[例][ruby]{
"foobarbazfoobarbaz".scan(/ba./) {|s| p s }
# "bar"
# "baz"
# "bar"
# "baz"
"foobarbazfoobarbaz".scan("ba") {|s| p s }
# "ba"
# "ba"
# "ba"
# "ba"
"foobarb... -
String
# split(sep = $ ; , limit = 0) -> [String] (349.0) -
第 1 引数 sep で指定されたセパレータによって文字列を limit 個まで分割し、 結果を文字列の配列で返します。 ブロックを指定すると、配列を返す代わりに分割した文字列で ブロックを呼び出します。
第 1 引数 sep で指定されたセパレータによって文字列を limit 個まで分割し、
結果を文字列の配列で返します。
ブロックを指定すると、配列を返す代わりに分割した文字列で
ブロックを呼び出します。
第 1 引数 sep は以下のいずれかです。
: 正規表現
正規表現にマッチする部分で分割する。
特に、括弧によるグルーピングがあればそのグループにマッチした
文字列も結果の配列に含まれる (後述)。
: 文字列
その文字列自体にマッチする部分で分割する。
: 1 バイトの空白文字 ' '
先頭の連続する空白を除いたうえで、連続する空白で分割する... -
Array
# append(*obj) -> self (346.0) -
指定された obj を順番に配列の末尾に追加します。 引数を指定しなければ何もしません。
指定された obj を順番に配列の末尾に追加します。
引数を指定しなければ何もしません。
@param obj 自身に追加したいオブジェクトを指定します。
//emlist[例][ruby]{
array = [1, 2, 3]
array.push 4
array.push [5, 6]
array.push 7, 8
p array # => [1, 2, 3, 4, [5, 6], 7, 8]
//}
@see Array#pop, Array#shift, Array#unshift, Array#<< -
Array
# collect! {|item| . . } -> self (346.0) -
各要素を順番にブロックに渡して評価し、その結果で要素を 置き換えます。
各要素を順番にブロックに渡して評価し、その結果で要素を
置き換えます。
ブロックが与えられなかった場合は、自身と map! から生成した
Enumerator オブジェクトを返します。
//emlist[例][ruby]{
ary = [1, 2, 3]
ary.map! {|i| i * 3 }
p ary #=> [3, 6, 9]
ary = [1, 2, 3]
e = ary.map!
e.each{ 1 }
p ary #=> [1, 1, 1]
//}
@see Array#collect, Enumerator -
Array
# map! {|item| . . } -> self (346.0) -
各要素を順番にブロックに渡して評価し、その結果で要素を 置き換えます。
各要素を順番にブロックに渡して評価し、その結果で要素を
置き換えます。
ブロックが与えられなかった場合は、自身と map! から生成した
Enumerator オブジェクトを返します。
//emlist[例][ruby]{
ary = [1, 2, 3]
ary.map! {|i| i * 3 }
p ary #=> [3, 6, 9]
ary = [1, 2, 3]
e = ary.map!
e.each{ 1 }
p ary #=> [1, 1, 1]
//}
@see Array#collect, Enumerator -
Array
# prepend(*obj) -> self (346.0) -
指定された obj を引数の最後から順番に配列の先頭に挿入します。 引数を指定しなければ何もしません。
指定された obj を引数の最後から順番に配列の先頭に挿入します。
引数を指定しなければ何もしません。
@param obj 自身に追加したいオブジェクトを指定します。
//emlist[例][ruby]{
arr = [1,2,3]
arr.unshift 0
p arr #=> [0, 1, 2, 3]
arr.unshift [0]
p arr #=> [[0], 0, 1, 2, 3]
arr.unshift 1, 2
p arr #=> [1, 2, [0], 0, 1, 2, 3]
//}
@see A... -
Array
# push(*obj) -> self (346.0) -
指定された obj を順番に配列の末尾に追加します。 引数を指定しなければ何もしません。
指定された obj を順番に配列の末尾に追加します。
引数を指定しなければ何もしません。
@param obj 自身に追加したいオブジェクトを指定します。
//emlist[例][ruby]{
array = [1, 2, 3]
array.push 4
array.push [5, 6]
array.push 7, 8
p array # => [1, 2, 3, 4, [5, 6], 7, 8]
//}
@see Array#pop, Array#shift, Array#unshift, Array#<< -
Array
# shuffle! -> self (346.0) -
配列を破壊的にランダムシャッフルします。
配列を破壊的にランダムシャッフルします。
@param random 乱数生成器(主に Random オブジェクト)を指定します。
選択する要素のインデックスを返す rand メソッドに応答する
オブジェクトであれば指定する事ができます。rand メソッド
の引数には Random#rand(max) のように選択可能なイン
デックスの最大値が指定されます。
Kernel.#rand、Random を使用しないオブジェク
ト... -
Array
# shuffle!(random: Random) -> self (346.0) -
配列を破壊的にランダムシャッフルします。
配列を破壊的にランダムシャッフルします。
@param random 乱数生成器(主に Random オブジェクト)を指定します。
選択する要素のインデックスを返す rand メソッドに応答する
オブジェクトであれば指定する事ができます。rand メソッド
の引数には Random#rand(max) のように選択可能なイン
デックスの最大値が指定されます。
Kernel.#rand、Random を使用しないオブジェク
ト... -
Array
# unshift(*obj) -> self (346.0) -
指定された obj を引数の最後から順番に配列の先頭に挿入します。 引数を指定しなければ何もしません。
指定された obj を引数の最後から順番に配列の先頭に挿入します。
引数を指定しなければ何もしません。
@param obj 自身に追加したいオブジェクトを指定します。
//emlist[例][ruby]{
arr = [1,2,3]
arr.unshift 0
p arr #=> [0, 1, 2, 3]
arr.unshift [0]
p arr #=> [[0], 0, 1, 2, 3]
arr.unshift 1, 2
p arr #=> [1, 2, [0], 0, 1, 2, 3]
//}
@see A... -
JSON
:: State # configure(options = {}) -> self (346.0) -
与えられたハッシュで自身を設定します。
与えられたハッシュで自身を設定します。
オプションで使用するハッシュのキーについては JSON::State.new を参照してください。
@param options このオブジェクトの設定をするためのハッシュを指定します。
//emlist[例][ruby]{
require "json"
json_state = JSON::State.new(indent: "\t")
json_state.indent # => "\t"
JSON.generate({key1: "value1", key2: "value2"}, json_state)
# => "{\t\"key1\... -
JSON
:: State # merge(options = {}) -> self (346.0) -
与えられたハッシュで自身を設定します。
与えられたハッシュで自身を設定します。
オプションで使用するハッシュのキーについては JSON::State.new を参照してください。
@param options このオブジェクトの設定をするためのハッシュを指定します。
//emlist[例][ruby]{
require "json"
json_state = JSON::State.new(indent: "\t")
json_state.indent # => "\t"
JSON.generate({key1: "value1", key2: "value2"}, json_state)
# => "{\t\"key1\... -
Matrix
# collect!(which = :all) {|element| . . . } -> self (346.0) -
行列の各要素に対してブロックの適用を繰り返した結果で要素を置き換えます。
行列の各要素に対してブロックの適用を繰り返した結果で要素を置き換えます。
ブロックのない場合は、自身と map! から生成した Enumerator オブジェクトを返します。
@param which which に以下の Symbol を指定することで、
引数として使われる要素を限定できます。
デフォルトは、:all (全ての要素)です。
指定できる Symbol の詳細は、 Matrix#each の項目を参照して下さい。
//emlist[例][ruby]{
require 'matrix'
... -
Matrix
# map!(which = :all) {|element| . . . } -> self (346.0) -
行列の各要素に対してブロックの適用を繰り返した結果で要素を置き換えます。
行列の各要素に対してブロックの適用を繰り返した結果で要素を置き換えます。
ブロックのない場合は、自身と map! から生成した Enumerator オブジェクトを返します。
@param which which に以下の Symbol を指定することで、
引数として使われる要素を限定できます。
デフォルトは、:all (全ての要素)です。
指定できる Symbol の詳細は、 Matrix#each の項目を参照して下さい。
//emlist[例][ruby]{
require 'matrix'
... -
Set
# collect! {|o| . . . } -> self (346.0) -
集合の各要素についてブロックを評価し、その結果で元の集合を置き換えます。
集合の各要素についてブロックを評価し、その結果で元の集合を置き換えます。
//emlist[][ruby]{
set = Set['hello', 'world']
set.map! {|str| str.capitalize}
p set # => #<Set: {"Hello", "World"}>
//}
@see Enumerable#collect -
Set
# map! {|o| . . . } -> self (346.0) -
集合の各要素についてブロックを評価し、その結果で元の集合を置き換えます。
集合の各要素についてブロックを評価し、その結果で元の集合を置き換えます。
//emlist[][ruby]{
set = Set['hello', 'world']
set.map! {|str| str.capitalize}
p set # => #<Set: {"Hello", "World"}>
//}
@see Enumerable#collect -
StringIO
# each(rs = $ / ) {|line| . . . } -> self (346.0) -
自身から 1 行ずつ読み込み、それを引数として与えられたブロックを実行します。
自身から 1 行ずつ読み込み、それを引数として与えられたブロックを実行します。
@param rs 行の区切りを文字列で指定します。rs に nil を指定すると行区切りなしとみなします。空文字列 "" を指定すると連続する改行を行の区切りとみなします(パラグラフモード)。
@raise IOError 自身が読み取り不可なら発生します。
//emlist[例][ruby]{
require "stringio"
a = StringIO.new("hoge\nfoo\n")
a.each{|l| p l }
#=> "hoge\n"
# "foo\n"
//}
@see $/
... -
StringIO
# each _ line(rs = $ / ) {|line| . . . } -> self (346.0) -
自身から 1 行ずつ読み込み、それを引数として与えられたブロックを実行します。
自身から 1 行ずつ読み込み、それを引数として与えられたブロックを実行します。
@param rs 行の区切りを文字列で指定します。rs に nil を指定すると行区切りなしとみなします。空文字列 "" を指定すると連続する改行を行の区切りとみなします(パラグラフモード)。
@raise IOError 自身が読み取り不可なら発生します。
//emlist[例][ruby]{
require "stringio"
a = StringIO.new("hoge\nfoo\n")
a.each{|l| p l }
#=> "hoge\n"
# "foo\n"
//}
@see $/
... -
Time
# gmtime -> self (346.0) -
タイムゾーンを協定世界時に設定します。
タイムゾーンを協定世界時に設定します。
このメソッドを呼び出した後は時刻変換を協定世界時として行ないます。
Time#localtime, Time#gmtime の挙動はシステムの
localtime(3) の挙動に依存します。Time クラ
スでは時刻を起算時からの経過秒数として保持していますが、ある特定の
時刻までの経過秒は、システムがうるう秒を勘定するかどうかによって異
なる場合があります。システムを越えて Time オブジェクトを受け
渡す場合には注意する必要があります。
//emlist[][ruby]{
p t = Time.local(2000,1,1,20,15,1)... -
Time
# localtime -> self (346.0) -
タイムゾーンを地方時に設定します。
タイムゾーンを地方時に設定します。
このメソッドを呼び出した後は時刻変換を協定地方時として行ないます。
@param utc_offset タイムゾーンを地方時に設定する代わりに協定世界時との
時差を、秒を単位とする整数か、"+HH:MM" "-HH:MM" 形式
の文字列で指定します。
Time#localtime, Time#gmtime の挙動はシステムの
localtime(3) の挙動に依存します。Time クラ
スでは時刻を起算時からの経過秒数として保持していますが、ある特定の
時刻までの経過秒は、シス... -
Time
# localtime(utc _ offset) -> self (346.0) -
タイムゾーンを地方時に設定します。
タイムゾーンを地方時に設定します。
このメソッドを呼び出した後は時刻変換を協定地方時として行ないます。
@param utc_offset タイムゾーンを地方時に設定する代わりに協定世界時との
時差を、秒を単位とする整数か、"+HH:MM" "-HH:MM" 形式
の文字列で指定します。
Time#localtime, Time#gmtime の挙動はシステムの
localtime(3) の挙動に依存します。Time クラ
スでは時刻を起算時からの経過秒数として保持していますが、ある特定の
時刻までの経過秒は、シス... -
Time
# utc -> self (346.0) -
タイムゾーンを協定世界時に設定します。
タイムゾーンを協定世界時に設定します。
このメソッドを呼び出した後は時刻変換を協定世界時として行ないます。
Time#localtime, Time#gmtime の挙動はシステムの
localtime(3) の挙動に依存します。Time クラ
スでは時刻を起算時からの経過秒数として保持していますが、ある特定の
時刻までの経過秒は、システムがうるう秒を勘定するかどうかによって異
なる場合があります。システムを越えて Time オブジェクトを受け
渡す場合には注意する必要があります。
//emlist[][ruby]{
p t = Time.local(2000,1,1,20,15,1)... -
Vector
# collect! {|element| . . . } -> self (346.0) -
ベクトルの各要素を順番にブロックに渡して評価し、その結果で要素を置き換えます。
ベクトルの各要素を順番にブロックに渡して評価し、その結果で要素を置き換えます。
ブロックのない場合は、自身と map! から生成した Enumerator オブジェクトを返します。
//emlist[例][ruby]{
require 'matrix'
v = Vector[1, 2, 3]
p v.map!{ |el| el * 2 } #=> Vector[2, 4, 6]
p v #=> Vector[2, 4, 6]
//} -
Vector
# map! {|element| . . . } -> self (346.0) -
ベクトルの各要素を順番にブロックに渡して評価し、その結果で要素を置き換えます。
ベクトルの各要素を順番にブロックに渡して評価し、その結果で要素を置き換えます。
ブロックのない場合は、自身と map! から生成した Enumerator オブジェクトを返します。
//emlist[例][ruby]{
require 'matrix'
v = Vector[1, 2, 3]
p v.map!{ |el| el * 2 } #=> Vector[2, 4, 6]
p v #=> Vector[2, 4, 6]
//} -
ARGF
. class # close -> self (343.0) -
現在開いている処理対象のファイルをクローズします。開くファイルが残って いる場合は次のファイルをオープンします。 ただし、標準入力はクローズされません。
現在開いている処理対象のファイルをクローズします。開くファイルが残って
いる場合は次のファイルをオープンします。
ただし、標準入力はクローズされません。
$ echo "foo" > foo
$ echo "bar" > bar
$ ruby argf.rb foo bar
ARGF.filename # => "foo"
ARGF.close
ARGF.filename # => "bar"
ARGF.close
@see ARGF.class#closed? -
ARGF
. class # each _ char { |c| . . . } -> self (343.0) -
レシーバに含まれる文字を一文字ずつブロックに渡して評価します。
レシーバに含まれる文字を一文字ずつブロックに渡して評価します。
このメソッドはスクリプトに指定した引数(Object::ARGV を参照) をファ
イル名とみなして、それらのファイルを連結した 1 つの仮想ファイルを表すオ
ブジェクトです。そのため、最初のファイルを最後まで読んだ後は次のファイ
ルの内容を返します。現在位置の1文字についてファイル名を得るには
ARGF.class#filename を使用します。
ブロックが与えられなかった場合は、Enumerator オブジェクトを生成し
て返します。
例:
# $ echo "line1\n" > test1.txt
# $... -
Array
# clear -> self (343.0) -
配列の要素をすべて削除して空にします。
配列の要素をすべて削除して空にします。
//emlist[例][ruby]{
ary = [1, 2]
ary.clear
p ary #=> []
//} -
Array
# each {|item| . . . . } -> self (343.0) -
各要素に対してブロックを評価します。
各要素に対してブロックを評価します。
ブロックが与えられなかった場合は、自身と each から生成した
Enumerator オブジェクトを返します。
//emlist[例][ruby]{
[1, 2, 3].each do |i|
puts i
end
#=> 1
# 2
# 3
//}
@see Array#each_index, Array#reverse_each -
Array
# each _ index {|index| . . . . } -> self (343.0) -
各要素のインデックスに対してブロックを評価します。
各要素のインデックスに対してブロックを評価します。
以下と同じです。
//emlist[例][ruby]{
(0 ... ary.size).each do |index|
# ....
end
//}
ブロックが与えられなかった場合は、自身と each_index から生成した
Enumerator オブジェクトを返します。
@see Array#each, Array#reverse_each -
Array
# insert(nth , *val) -> self (343.0) -
インデックス nth の要素の直前(nth が負の場合は直後)に第 2 引数以降の値を挿入します。 引数 val を一つも指定しなければ何もしません。
インデックス nth の要素の直前(nth が負の場合は直後)に第 2 引数以降の値を挿入します。
引数 val を一つも指定しなければ何もしません。
@param nth val を挿入する位置を整数で指定します。
整数以外のオブジェクトを指定した場合は to_int メソッドによる
暗黙の型変換を試みます。
@param val 自身に挿入するオブジェクトを指定します。
@raise TypeError 引数に整数以外の(暗黙の型変換が行えない)オブジェクトを
指定した場合に発生します。
//emlis... -
Array
# replace(another) -> self (343.0) -
配列の内容を配列 another の内容で置き換えます。
配列の内容を配列 another の内容で置き換えます。
@param another 配列を指定します。
配列以外のオブジェクトを指定した場合は to_ary メソッドに
よる暗黙の型変換を試みます。
@raise TypeError 引数に配列以外の(暗黙の型変換が行えない)オブジェクトを
指定した場合に発生します。
//emlist[例][ruby]{
a = [1, 2, 3]
a.replace [4, 5, 6]
p a #=> [4, 5, 6]
... -
Array
# reverse _ each {|item| . . . } -> self (343.0) -
各要素に対して逆順にブロックを評価します。
各要素に対して逆順にブロックを評価します。
ブロックが与えられなかった場合は、自身と reverse_each から生成した
Enumerator オブジェクトを返します。
//emlist[例][ruby]{
a = [ "a", "b", "c" ]
a.reverse_each {|x| print x, " " }
# => c b a
//}
@see Array#each -
Array
# rotate!(cnt = 1) -> self (343.0) -
cnt で指定したインデックスの要素が先頭になるように自身の順番を変更しま す。cnt より前の要素は末尾に移動します。cnt に負の数を指定した場合、逆 の操作を行います。
cnt で指定したインデックスの要素が先頭になるように自身の順番を変更しま
す。cnt より前の要素は末尾に移動します。cnt に負の数を指定した場合、逆
の操作を行います。
@param cnt 先頭にする要素のインデックスを指定します。指定しなかった場合
は 1 になります。
整数以外のオブジェクトを指定した場合は to_int メソッドによる
暗黙の型変換を試みます。
@raise TypeError 引数に整数以外の(暗黙の型変換が行えない)オブジェクトを
指定した場合に発生します... -
Array
# sort _ by! {|item| . . . } -> self (343.0) -
sort_by の破壊的バージョンです。
sort_by の破壊的バージョンです。
ブロックを省略した場合は Enumerator を返します。
//emlist[例][ruby]{
fruits = %w{apple pear fig}
fruits.sort_by! { |word| word.length }
fruits # => ["fig", "pear", "apple"]
//}
@see Enumerable#sort_by -
CSV
:: Row # delete _ if {|header , field| . . . } -> self (343.0) -
与えられたブロックにヘッダとフィールドのペアを渡して評価します。 評価した結果が真である場合に、その組を自身から削除します。
与えられたブロックにヘッダとフィールドのペアを渡して評価します。
評価した結果が真である場合に、その組を自身から削除します。
@return メソッドチェーンのために自身を返します。
//emlist[例][ruby]{
require "csv"
row = CSV::Row.new(["header1", "header2", "header3", "header4"], ["valid1", "valid2", "invalid", "valid4"])
row # => #<CSV::Row "header1":"valid1" "header2":"valid2" "hea... -
CSV
:: Row # each {|header , field| . . . } -> self (343.0) -
与えられたブロックにヘッダとフィールドの組を渡して評価します。
与えられたブロックにヘッダとフィールドの組を渡して評価します。
@return メソッドチェーンのために自身を返します。
//emlist[例][ruby]{
require "csv"
row = CSV::Row.new(["header1", "header2", "header3", "header4"], [1, 2, 3, 4])
row.each { |header, field| puts "#{header} - #{field}" }
# => header1 - 1
# => header2 - 2
# => header3 - 3
# => header4 -... -
CSV
:: Table # <<(row _ or _ array) -> self (343.0) -
自身の最後に新しい行を追加します。
自身の最後に新しい行を追加します。
@param row_or_array CSV::Row のインスタンスか配列を指定します。
配列を指定した場合は CSV::Row に変換されます。
@return メソッドチェーンのために自身を返します。
//emlist[例][ruby]{
require "csv"
row1 = CSV::Row.new(["header1", "header2"], ["row1_1", "row1_2"])
row2 = CSV::Row.new(["header1", "header2"], ["row2_1"... -
CSV
:: Table # by _ col! -> self (343.0) -
自身をカラムモードに変更します。
自身をカラムモードに変更します。
再びモードが変更されるまで、いくつかのメソッドはカラム単位で動きます。
@return 必ず自身を返すので安全にメソッドチェーンできます。
//emlist[例][ruby]{
require "csv"
row1 = CSV::Row.new(["header1", "header2"], ["row1_1", "row1_2"])
row2 = CSV::Row.new(["header1", "header2"], ["row2_1", "row2_2"])
table = CSV::Table.new([row1, row2])
table.... -
CSV
:: Table # by _ col _ or _ row! -> self (343.0) -
自身をミックスモードに変更します。
自身をミックスモードに変更します。
再びモードが変更されるまで、いくつかのメソッドはミックスモードで動きます。
デフォルトのミックスモードではインデックスによるアクセスは行単位での参
照であると見なします。しかし、他の方法ではヘッダによる列単位での参照で
あると見なします。
@return 必ず自身を返すので安全にメソッドチェーンできます。
//emlist[例][ruby]{
require "csv"
row1 = CSV::Row.new(["header1", "header2"], ["row1_1", "row1_2"])
row2 = CSV::Row.new(["h... -
CSV
:: Table # by _ row! -> self (343.0) -
自身をロウモードに変更します。
自身をロウモードに変更します。
再びモードが変更されるまで、いくつかのメソッドは行単位で動きます。
@return 必ず自身を返すので安全にメソッドチェーンできます。
//emlist[例][ruby]{
require "csv"
row1 = CSV::Row.new(["header1", "header2"], ["row1_1", "row1_2"])
row2 = CSV::Row.new(["header1", "header2"], ["row2_1", "row2_2"])
table = CSV::Table.new([row1, row2])
table ... -
Dir
# each {|item| . . . } -> self (343.0) -
ディレクトリの各エントリを表す文字列を引数として、ブロックを評価します。
ディレクトリの各エントリを表す文字列を引数として、ブロックを評価します。
ブロックが与えられなかった場合、各エントリを文字列として保持する
Enumerator
オブジェクトを返します。
@raise IOError 既に自身が close している場合に発生します。
//emlist[例][ruby]{
Dir.open('.').each{|f|
p f
}
#=> "."
# ".."
# "bar"
# "foo"
//}
@see Dir#each_child -
Dir
# rewind -> self (343.0) -
ディレクトリストリームの読み込み位置を先頭に移動させます。
ディレクトリストリームの読み込み位置を先頭に移動させます。
@raise IOError 既に自身が close している場合に発生します。
//emlist[例][ruby]{
Dir.open("testdir") do |d|
d.read # => "."
d.rewind # => #<Dir:0x401b3fb0>
d.read # => "."
end
//} -
Dir
# seek(pos) -> self (343.0) -
ディレクトリストリームの読み込み位置を pos に移動させます。 pos は Dir#tell で与えられた値でなければなりま せん。
ディレクトリストリームの読み込み位置を pos に移動させます。
pos は Dir#tell で与えられた値でなければなりま
せん。
@param pos 変更したい位置を整数で与えます。
@raise IOError 既に自身が close している場合に発生します。
//emlist[例][ruby]{
Dir.open("testdir") do |d|
d.read # => "."
i = d.tell # => 12
d.read # => ".."
d.s... -
Enumerable
# each _ cons(n) {|list| . . . } -> self (343.0) -
要素を重複ありで n 要素ずつに区切り、 ブロックに渡して繰り返します。
要素を重複ありで n 要素ずつに区切り、
ブロックに渡して繰り返します。
ブロックを省略した場合は重複ありで
n 要素ずつ繰り返す Enumerator を返します。
@param n ブロックに渡す要素の数です。正の整数を与えます。
要素数より大きな数を与えると、ブロックは一度も実行されません。
//emlist[例][ruby]{
(1..10).each_cons(3){|v| p v }
# => [1, 2, 3]
# [2, 3, 4]
# [3, 4, 5]
# [4, 5, 6]
# [5, 6, 7]
# [6, 7,... -
Enumerable
# each _ entry {|obj| block} -> self (343.0) -
ブロックを各要素に一度ずつ適用します。
ブロックを各要素に一度ずつ適用します。
一要素として複数の値が渡された場合はブロックには配列として渡されます。
//emlist[例][ruby]{
class Foo
include Enumerable
def each
yield 1
yield 1,2
end
end
Foo.new.each_entry{|o| print o, " -- "}
# => 1 -- [1, 2] --
//}
ブロックを省略した場合は Enumerator が返されます。
@see Enumerable#slice_before -
Enumerable
# each _ slice(n) {|list| . . . } -> self (343.0) -
n 要素ずつブロックに渡して繰り返します。
n 要素ずつブロックに渡して繰り返します。
要素数が n で割り切れないときは、最後の回だけ要素数が減ります。
ブロックを省略した場合は
n 要素ずつ繰り返す Enumerator を返します。
@param n 区切る要素数を示す整数です。
//emlist[例][ruby]{
(1..10).each_slice(3) {|a| p a}
# => [1, 2, 3]
# [4, 5, 6]
# [7, 8, 9]
# [10]
//}
@see Enumerable#each_cons -
Enumerable
# reverse _ each {|element| . . . } -> self (343.0) -
逆順に各要素に対してブロックを評価します。
逆順に各要素に対してブロックを評価します。
内部で各要素を保持した配列を作ります。
ブロックを省略した場合は、各要素を逆順に辿る
Enumerator を返します。
//emlist[例][ruby]{
{a: 1, b: 2, c: 3}.reverse_each # => #<Enumerator: ...>
{a: 1, b: 2, c: 3}.reverse_each { |v| p v }
# => [:c, 3]
# [:b, 2]
# [:a, 1]
//} -
IO
# binmode -> self (343.0) -
ストリームをバイナリモードにします。MSDOS などバイナリモードの存在 する OS でのみ有効です。そうでない場合このメソッドは何もしません。
ストリームをバイナリモードにします。MSDOS などバイナリモードの存在
する OS でのみ有効です。そうでない場合このメソッドは何もしません。
バイナリモードから通常のモードに戻す方法は再オープンしかありません。
@raise Errno::EXXX モードの変更に失敗した場合に発生します。
//emlist[例][ruby]{
IO.open(IO.sysopen("testfile", "w+")) do |io|
io.binmode? # => false
io.binmode # => #<IO:fd 8>
io.binmode? # => true
end
... -
IO
# each _ byte {|ch| . . . } -> self (343.0) -
IO の現在位置から 1 バイトずつ読み込み、それを整数として与え、ブロックを実行します。
IO の現在位置から 1 バイトずつ読み込み、それを整数として与え、ブロックを実行します。
ブロックが与えられなかった場合は、自身から生成した
Enumerator オブジェクトを返します。
バイナリ読み込みメソッドとして動作します。
@raise IOError 自身が読み込み用にオープンされていなければ発生します。
//emlist[例][ruby]{
IO.write("testfile", "aあ")
File.open("testfile") do |io|
io.each_byte { |x| p x }
# => 97
# 227
# 129
# 1... -
IO
# each _ codepoint {|c| . . . } -> self (343.0) -
IO の各コードポイントに対して繰り返しブロックを呼びだします。
IO の各コードポイントに対して繰り返しブロックを呼びだします。
ブロックの引数にはコードポイントを表す整数が渡されます。
ブロックを省略した場合には、Enumerator を返します。
//emlist[例][ruby]{
IO.write("testfile", "abcdeあ")
File.open("testfile") do |f|
f.each_codepoint { |i| p i }
end
# => 97
# 98
# 99
# 100
# 101
# 12354
//} -
IO
# flush -> self (343.0) -
IO ポートの内部バッファをフラッシュします。
IO ポートの内部バッファをフラッシュします。
このメソッドを使ったとき、即座にメタデータを更新することは保証されません(特にWindowsで)。
即座にメタデータも更新したいときは IO#fsync を使います。
@raise IOError 自身が書き込み用にオープンされていなければ発生します。
@raise Errno::EXXX fflush(3) が失敗した場合に発生します。
//emlist[例][ruby]{
require "tempfile"
Tempfile.open("testtmpfile") do |f|
f.print "test"
File.r... -
Matrix
# column(j) {|x| . . . } -> self (343.0) -
j 番目の列を Vector オブジェクトで返します。 j 番目の列が存在しない場合は nil を返します。 ブロックが与えられた場合はその列の各要素についてブロックを繰り返します。
j 番目の列を Vector オブジェクトで返します。
j 番目の列が存在しない場合は nil を返します。
ブロックが与えられた場合はその列の各要素についてブロックを繰り返します。
@param j 列の位置を指定します。
先頭の列が 0 番目になります。j の値が負の時には末尾から
のインデックスと見倣します。末尾の列が -1 番目になります。
//emlist[例][ruby]{
require 'matrix'
a1 = [ 1, 2, 3]
a2 = [10, 15, 20]
a3 = [-1, -2, 1.5]
m = Matr... -
Matrix
# each(which = :all) {|e| . . . } -> self (343.0) -
行列の各要素を引数としてブロックを呼び出します。
行列の各要素を引数としてブロックを呼び出します。
0行目、1行目、…という順番で処理します。
which に以下の Symbol を指定することで
引数として使われる要素を限定することができます。
* :all - すべての要素(デフォルト)
* :diagonal - 対角要素
* :off_diagonal 対角要素以外
* :lower 対角成分とそれより下側の部分
* :upper対角成分とそれより上側の部分
* :strict_lower 対角成分の下側
* :strict_upper 対角成分の上側
ブロックを省略した場合、 Enumerator ... -
Matrix
# each _ with _ index(which = :all) {|e , row , col| . . . } -> self (343.0) -
行列の各要素をその位置とともに引数としてブロックを呼び出します。
行列の各要素をその位置とともに引数としてブロックを呼び出します。
which で処理する要素の範囲を指定することができます。
Matrix#each と同じなのでそちらを参照してください。
ブロックを省略した場合、 Enumerator を返します。
//emlist[例][ruby]{
require 'matrix'
Matrix[ [1,2], [3,4] ].each_with_index do |e, row, col|
puts "#{e} at #{row}, #{col}"
end
# => 1 at 0, 0
# => 2 at 0, 1
# => 3... -
Matrix
# row(i) {|x| . . . } -> self (343.0) -
i 番目の行を Vector オブジェクトで返します。 i 番目の行が存在しない場合は nil を返します。 ブロックが与えられた場合はその行の各要素についてブロックを繰り返します。
i 番目の行を Vector オブジェクトで返します。
i 番目の行が存在しない場合は nil を返します。
ブロックが与えられた場合はその行の各要素についてブロックを繰り返します。
Vector オブジェクトは Matrix オブジェクトとの演算の際には列ベクトルとして扱われることに注意してください。
@param i 行の位置を指定します。
先頭の行が 0 番目になります。i の値が負の時には末尾から
のインデックスと見倣します。末尾の行が -1 番目になります。
//emlist[例][ruby]{
require 'matrix'
a1 = ... -
Module
# freeze -> self (343.0) -
モジュールを凍結(内容の変更を禁止)します。
モジュールを凍結(内容の変更を禁止)します。
凍結したモジュールにメソッドの追加など何らかの変更を加えようとした場合に
FrozenError
が発生します。
@see Object#freeze
//emlist[例][ruby]{
module Foo; end
Foo.freeze
module Foo
def foo; end
end # => FrozenError: can't modify frozen module
//} -
Module
# using(module) -> self (343.0) -
引数で指定したモジュールで定義された拡張を現在のクラス、モジュールで有 効にします。
引数で指定したモジュールで定義された拡張を現在のクラス、モジュールで有
効にします。
有効にした拡張の有効範囲については以下を参照してください。
* https://docs.ruby-lang.org/en/master/syntax/refinements_rdoc.html#label-Scope
@param module 有効にするモジュールを指定します。
@see Module#refine, main.using -
OpenSSL
:: BN # clear _ bit!(n) -> self (343.0) -
自身の n ビット目を0にします。
自身の n ビット目を0にします。
//emlist[][ruby]{
require 'openssl'
a = OpenSSL::BN.new("129")
a.clear_bit!(0)
a # => 128
//}
@param n 0にするビットの位置
@raise OpenSSL::BNError 計算時エラー
@see OpenSSL::set_bit! -
OpenSSL
:: BN # lshift!(n) -> self (343.0) -
自身を n ビット左シフトします。 OpenSSL::BN#<<と異なり、破壊的メソッドです。
自身を n ビット左シフトします。
OpenSSL::BN#<<と異なり、破壊的メソッドです。
//emlist[][ruby]{
require 'openssl'
bn = 1.to_bn
bn.lshift!(2) # => #<OpenSSL::BN 4>
bn # => #<OpenSSL::BN 4>
//}
@param n シフトするビット数
@raise OpenSSL::BNError 計算時エラー
@see OpenSSL::BN#<< -
OpenSSL
:: BN # mask _ bits!(n) -> self (343.0) -
自身を下位 n ビットでマスクし、破壊的に変更します。
自身を下位 n ビットでマスクし、破壊的に変更します。
n が自身のビット数より大きい場合は例外 OpenSSL::BNError
が発生します。
//emlist[][ruby]{
require 'openssl'
bn = 0b1111_1111.to_bn
bn.mask_bits!(8)
p "%b" % bn # => "11111111"
bn.mask_bits!(3)
p "%b" % bn # => "111"
//}
@param n マスクするビット数
@raise OpenSSL::BNError 計算時エラー -
OpenSSL
:: BN # rshift!(n) -> self (343.0) -
自身を n ビット右シフトします。 [[m:OpenSSL::BN#>>]と異なり、破壊的メソッドです。
自身を n ビット右シフトします。
[[m:OpenSSL::BN#>>]と異なり、破壊的メソッドです。
//emlist[][ruby]{
require 'openssl'
bn = 8.to_bn
bn.rshift!(1) # => #<OpenSSL::BN 4>
bn # => #<OpenSSL::BN 4>
//}
@param n シフトするビット数
@raise OpenSSL::BNError 計算時エラー
@see OpenSSL::BN#>> -
OpenSSL
:: BN # set _ bit!(n) -> self (343.0) -
自身の n ビット目を1にします。
自身の n ビット目を1にします。
//emlist[][ruby]{
require 'openssl'
a = OpenSSL::BN.new("128")
a.set_bit!(0)
a # => 129
//}
@param n 1にするビットの位置
@raise OpenSSL::BNError 計算時エラー
@see OpenSSL::clear_bit!, OpenSSL::bit_set? -
OptionParser
# on _ head(*arg , &block) -> self (343.0) -
オプションを取り扱うためのブロックを自身の持つリストの最初に登録します。
オプションを取り扱うためのブロックを自身の持つリストの最初に登録します。
@param arg OptionParser#on と同様です。
@param block OptionParser#on と同様です。
//emlist[例][ruby]{
require "optparse"
opts = OptionParser.new do |opts|
opts.on_head("-i", "--init")
opts.on("-u", "--update")
opts.on_tail("-h", "--help")
end
puts opts.help
# => ... -
OptionParser
# parse!(argv = self . default _ argv , into: nil) -> [String] (343.0) -
与えられた argv をパースします。
与えられた argv をパースします。
OptionParser#permute! と同様に argv を破壊的にパースします。
環境変数に POSIXLY_CORRECT が設定されている場合は、
OptionParser#order! と同様に振舞います。
@param argv パースしたい引数を文字列の配列で指定します。
@param into オプションを格納するハッシュを指定します。
指定したハッシュにはオプションの名前をキーとして、OptionParser#onに渡されたブロックの値が格納されます。
キーの名前はロングオプシ... -
REXML
:: Element # add _ namespace(prefix , uri) -> self (343.0) -
名前空間を要素に追加します。
名前空間を要素に追加します。
引数が2個の場合は prefix と uri を指定します。
引数が1個の場合はデフォルトの namespace の uri を指定します。
既に同じ prefix が存在する場合はそれが上書きされます。
@param prefix 名前空間の prefix
@param uri 名前空間の uri
//emlist[][ruby]{
require 'rexml/document'
a = REXML::Element.new("a")
a.add_namespace("xmlns:foo", "bar" )
a.add_namespace("foo",... -
REXML
:: Element # delete _ namespace(namespace = "xmlns") -> self (343.0) -
名前空間を要素から削除します。
名前空間を要素から削除します。
削除可能な名前空間はそのノードで宣言されているもののみです。
上位の要素で宣言されているものは削除できません。
引数を省略した場合はデフォルトの名前空間を削除します。
@param namespace 削除する名前空間の prefix
//emlist[][ruby]{
require 'rexml/document'
doc = REXML::Document.new "<a xmlns:foo='bar' xmlns='twiddle'/>"
doc.root.delete_namespace
doc.to_s # => "<a xmlns:foo=... -
Rake
:: FileList # clear _ exclude -> self (343.0) -
登録されている除外リストをクリアします。
登録されている除外リストをクリアします。
//emlist[][ruby]{
# Rakefile での記載例とする
task default: :test_rake_app
task :test_rake_app do
file_list = FileList.new("test.rb", "test.bak")
file_list.exclude("test.rb")
# DEFAULT_IGNORE_PATTERNS と "test.rb" の双方の除外がクリアされる
file_list.clear_exclude
file_list # => ["test.r... -
Rake
:: FileList # existing! -> self (343.0) -
自身に含まれるファイルのうちファイルシステムに存在するファイルのみを 含むように自身を変更して返します。
自身に含まれるファイルのうちファイルシステムに存在するファイルのみを
含むように自身を変更して返します。
//emlist[][ruby]{
# Rakefile での記載例とする
IO.write("test1.rb", "test")
IO.write("test2.rb", "test")
task default: :test_rake_app
task :test_rake_app do
file_list = FileList.new("test1.rb", "test2.rb", "test3.rb")
file_list.existing! # => ["tes... -
Rake
:: FileList # gsub!(pattern , replace) -> self (343.0) -
自身に含まれるファイルリストのそれぞれのエントリに対して String#gsub を実行します。 自身を破壊的に変更します。
自身に含まれるファイルリストのそれぞれのエントリに対して String#gsub を実行します。
自身を破壊的に変更します。
//emlist[][ruby]{
# Rakefile での記載例とする
IO.write("test1.rb", "test")
IO.write("test2.rb", "test")
task default: :test_rake_app
task :test_rake_app do
file_list = FileList.new("test1.rb", "test2.rb", "test3.rb")
file_list.gsub!(/\.r... -
Rake
:: FileList # import(array) -> self (343.0) -
与えられた配列を自身にインポートします。
与えられた配列を自身にインポートします。
@param array ファイル名のリストを指定します。
//emlist[][ruby]{
# Rakefile での記載例とする
IO.write("test1.rb", "test")
IO.write("test2.rb", "test")
task default: :test_rake_app
task :test_rake_app do
file_list = FileList.new("test1.rb", "test2.rb", "test3.rb")
file_list.import(["test4.rb", "... -
Rake
:: FileList # resolve -> self (343.0) -
追加リストと除外リストを評価します。
追加リストと除外リストを評価します。
//emlist[][ruby]{
# Rakefile での記載例とする
IO.write("test.rb", "test")
IO.write("test.java", "test")
IO.write("test.js", "test")
task default: :test_rake_app
task :test_rake_app do
file_list = FileList.new("*.rb")
file_list.include("*.java")
file_list.exclude("*.js")
file_... -
Rake
:: FileList # sub!(pattern , replace) -> self (343.0) -
自身に含まれるファイルリストのそれぞれのエントリに対して String#sub を実行します。 自身を破壊的に変更します。
自身に含まれるファイルリストのそれぞれのエントリに対して String#sub を実行します。
自身を破壊的に変更します。
//emlist[][ruby]{
# Rakefile での記載例とする
task default: :test_rake_app
task :test_rake_app do
file_list = FileList['a.c', 'b.c']
file_list.sub!(/\.c$/, '.o') # => ['a.o', 'b.o']
file_list # => ['a.o', 'b.o']
end
//... -
Range
# each {|item| . . . } -> self (343.0) -
範囲内の要素に対して繰り返します。
範囲内の要素に対して繰り返します。
Range#each は各要素の succ メソッドを使用してイテレーションするようになりました。
@raise TypeError succ メソッドを持たないクラスの範囲オブジェクトに対してこのメソッドを呼んだ場合に発生します。
//emlist[例][ruby]{
(10..15).each {|n| print n, ' ' }
# prints: 10 11 12 13 14 15
(2.5..5).each {|n| print n, ' ' }
# raises: TypeError: can't iterate from Floa... -
Set
# each {|o| . . . } -> self (343.0) -
集合の各要素についてブロックを実行します。
集合の各要素についてブロックを実行します。
//emlist[][ruby]{
s = Set[10, 20]
ary = []
s.each {|num| ary << num + 1}
p ary # => [11, 21]
//} -
Set
# merge(enum) -> self (343.0) -
元の集合に enum で与えられた要素を追加します。
元の集合に enum で与えられた要素を追加します。
引数 enum には each メソッドが定義されている必要があります。
@param enum 追加対象の要素を格納したオブジェクトを指定します。
@raise ArgumentError 引数 enum に each メソッドが定義されていない場合に
発生します。
//emlist[][ruby]{
set = Set[10, 20]
set.merge([10, 30])
p set # => #<Set: {10, 20, 30}>
//} -
Set
# replace(enum) -> self (343.0) -
集合の要素をすべて削除し、enum で与えられた要素に置き換えます。
集合の要素をすべて削除し、enum で与えられた要素に置き換えます。
引数 enum には each メソッドが定義されている必要があります。
@param enum 置き換え後の集合要素を格納するオブジェクトを指定します。
@raise ArgumentError 引数 enum に each メソッドが定義されていない場合に
発生します。
//emlist[][ruby]{
p s = Set[10, 20, 30] # => #<Set: {10, 20, 30}>
s.replace([15, 25])
p s # => #<Set: {15, 25}>
//}
... -
Set
# subtract(enum) -> self (343.0) -
元の集合から、enum で与えられた要素を削除します。
元の集合から、enum で与えられた要素を削除します。
引数 enum には each メソッドが定義されている必要があります。
@param enum 削除対象の要素を格納したオブジェクトを指定します。
@raise ArgumentError 引数 enum に each メソッドが定義されていない場合に
発生します。
//emlist[][ruby]{
set = Set[10, 20, 40]
set.subtract([10, 20, 30])
p set # => #<Set: {40}>
//} -
String
# each _ byte {|byte| . . . } -> self (343.0) -
文字列の各バイトに対して繰り返します。
文字列の各バイトに対して繰り返します。
//emlist[例][ruby]{
"str".each_byte do |byte|
p byte
end
# => 115
# => 116
# => 114
"あ".each_byte do |byte|
p byte
end
# => 227
# => 129
# => 130
//}
@see String#bytes -
String
# each _ char {|cstr| block } -> self (343.0) -
文字列の各文字に対して繰り返します。
文字列の各文字に対して繰り返します。
たとえば、
//emlist[][ruby]{
"hello世界".each_char {|c| print c, ' ' }
//}
は次のように出力されます。
h e l l o 世 界
@see String#chars -
String
# each _ codepoint {|codepoint| block } -> self (343.0) -
文字列の各コードポイントに対して繰り返します。
文字列の各コードポイントに対して繰り返します。
UTF-8/UTF-16(BE|LE)/UTF-32(BE|LE) 以外のエンコーディングに対しては
各文字のバイナリ表現由来の値になります。
//emlist[例][ruby]{
#coding:UTF-8
"hello わーるど".each_codepoint.to_a
# => [104, 101, 108, 108, 111, 32, 12431, 12540, 12427, 12393]
"hello わーるど".encode('euc-jp').each_codepoint.to_a
# => [104, 101, 108, 1... -
String
# each _ grapheme _ cluster {|grapheme _ cluster| block } -> self (343.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 -
String
# each _ line(rs = $ / , chomp: false) {|line| . . . } -> self (343.0) -
文字列中の各行に対して繰り返します。 行の区切りは rs に指定した文字列で、 そのデフォルト値は変数 $/ の値です。 各 line には区切りの文字列も含みます。
文字列中の各行に対して繰り返します。
行の区切りは rs に指定した文字列で、
そのデフォルト値は変数 $/ の値です。
各 line には区切りの文字列も含みます。
rs に nil を指定すると行区切りなしとみなします。
rs に空文字列 "" を指定すると「パラグラフモード」になり、
改行コードが 2 つ以上連続するところで文字列を分割します
(つまり空行で分割します)。
@param rs 行末を示す文字列
@param chomp true を指定すると各行の末尾から rs を取り除きます。
//emlist[例][ruby]{
"aa\nbb\ncc\n".each_... -
String
# force _ encoding(encoding) -> self (343.0) -
文字列の持つエンコーディング情報を指定された encoding に変えます。
文字列の持つエンコーディング情報を指定された encoding に変えます。
このとき実際のエンコーディングは変換されず、検査もされません。
Array#pack などで得られたバイト列のエンコーディングを指定する時に使います。
@param encoding 変更するエンコーディング情報を表す文字列か Encoding オブジェクトを指定します。
//emlist[例][ruby]{
s = [164, 164, 164, 237, 164, 207].pack("C*")
p s.encoding #=> ASC... -
String
# reverse! -> self (343.0) -
文字列を文字単位で左右逆転します。
文字列を文字単位で左右逆転します。
//emlist[例][ruby]{
str = "foobar"
str.reverse!
p str # => "raboof"
//} -
String
# rstrip! -> self | nil (343.0) -
文字列の末尾にある空白文字を全て破壊的に取り除きます。 空白文字の定義は " \t\r\n\f\v\0" です。
文字列の末尾にある空白文字を全て破壊的に取り除きます。
空白文字の定義は " \t\r\n\f\v\0" です。
//emlist[例][ruby]{
str = " abc\n"
p str.rstrip! # => " abc"
p str # => " abc"
str = " abc \r\n\t\v\0"
p str.rstrip! # => " abc"
p str # => " abc"
//}
@see String#rstrip, String#lstrip -
String
# squeeze!(*chars) -> self | nil (343.0) -
chars に含まれる文字が複数並んでいたら 1 文字にまとめます。
chars に含まれる文字が複数並んでいたら 1 文字にまとめます。
chars の形式は tr(1) と同じです。つまり、
`a-c' は a から c を意味し、"^0-9" のように
文字列の先頭が `^' の場合は指定文字以外を意味します。
`-' は文字列の両端にない場合にだけ範囲指定の意味になります。
同様に、`^' もその効果は文字列の先頭にあるときだけです。また、
`-', `^', `\' はバックスラッシュ(`\')によ
りエスケープすることができます。
引数を 1 つも指定しない場合は、すべての連続した文字を 1 文字にまとめます。
引数を複数指定した場合は、す... -
String
# upcase!(*options) -> self | nil (343.0) -
全ての小文字を対応する大文字に破壊的に置き換えます。 どの文字がどう置き換えられるかは、オプションの有無や文字列のエンコーディングに依存します。
全ての小文字を対応する大文字に破壊的に置き換えます。
どの文字がどう置き換えられるかは、オプションの有無や文字列のエンコーディングに依存します。
@param options オプションの詳細は String#downcase を参照してください。
//emlist[例][ruby]{
buf = "stRIng? STring."
buf.upcase!
p buf # => "STRING? STRING."
//}
@see String#upcase, String#downcase!,
String#swapcase!, String#capitalize! -
StringIO
# each _ byte {|ch| . . . } -> self (343.0) -
自身から 1 バイトずつ読み込み、整数 ch に変換し、それを引数として与えられたブロックを実行します。
自身から 1 バイトずつ読み込み、整数 ch に変換し、それを引数として与えられたブロックを実行します。
@raise IOError 自身が読み取り不可なら発生します。
//emlist[例][ruby]{
require "stringio"
a = StringIO.new("hoge")
a.each_byte{|ch| p ch }
#=> 104
# 111
# 103
# 101
//}
@see IO#each_byte