別のキーワード
種類
ライブラリ
- ビルトイン (467)
- abbrev (1)
- benchmark (1)
- bigdecimal (4)
- csv (8)
- date (6)
- dbm (4)
- digest (3)
- drb (1)
- fiddle (6)
- gdbm (3)
- getoptlong (2)
- ipaddr (5)
-
irb
/ cmd / chws (2) -
irb
/ output-method (4) -
irb
/ workspace (1) - json (2)
- matrix (18)
-
net
/ http (5) -
net
/ pop (2) - open-uri (3)
- openssl (65)
- optparse (26)
- ostruct (6)
- pathname (92)
- pp (2)
- prettyprint (1)
- prime (7)
- profiler (1)
- psych (5)
- rake (7)
-
rake
/ packagetask (1) -
rdoc
/ code _ object (3) -
rdoc
/ text (1) - readline (2)
- resolv (1)
-
rexml
/ document (27) - ripper (2)
-
ripper
/ filter (2) -
rubygems
/ dependency (2) -
rubygems
/ digest / digest _ adapter (1) -
rubygems
/ package / tar _ output (1) -
rubygems
/ package / tar _ writer (5) -
rubygems
/ security (1) -
rubygems
/ source _ index (1) -
rubygems
/ version (3) - sdbm (7)
- set (25)
- shell (5)
-
shell
/ command-processor (6) -
shell
/ filter (1) - socket (1)
- stringio (15)
- strscan (1)
- syslog (5)
- tempfile (3)
- time (4)
- uri (5)
-
webrick
/ httpservlet / prochandler (1) -
webrick
/ httputils (2) -
win32
/ registry (2) - win32ole (15)
-
yaml
/ dbm (2) - zlib (9)
クラス
-
ARGF
. class (9) - Array (54)
- BasicObject (3)
-
Benchmark
:: Job (1) - BigDecimal (4)
- Binding (1)
- CSV (2)
-
CSV
:: Row (1) -
CSV
:: Table (3) - Complex (6)
- DBM (4)
-
DRb
:: DRbUnknown (1) - Date (6)
-
Digest
:: Base (3) - Dir (5)
- Enumerator (5)
-
Enumerator
:: Lazy (1) - Exception (4)
- Fiber (1)
-
Fiddle
:: Pointer (6) - File (2)
-
File
:: Stat (1) - Float (3)
- GDBM (3)
-
Gem
:: Dependency (2) -
Gem
:: DigestAdapter (1) -
Gem
:: Package :: TarOutput (1) -
Gem
:: Package :: TarWriter (5) -
Gem
:: SourceIndex (1) -
Gem
:: Version (3) - GetoptLong (2)
- Hash (39)
- IO (27)
- IPAddr (5)
-
IRB
:: ExtendCommand :: ChangeWorkspace (1) -
IRB
:: ExtendCommand :: CurrentWorkingWorkspace (1) -
IRB
:: OutputMethod (4) - Integer (12)
-
JSON
:: State (2) - MatchData (5)
- Matrix (12)
-
Matrix
:: LUPDecomposition (1) - Method (6)
- Module (28)
- NameError (2)
-
Net
:: HTTP (2) -
Net
:: HTTPResponse (3) -
Net
:: POP3 (2) - Numeric (17)
- Object (19)
-
OpenSSL
:: ASN1 :: Constructive (1) -
OpenSSL
:: BN (14) -
OpenSSL
:: Cipher (5) -
OpenSSL
:: Config (1) -
OpenSSL
:: Digest (3) -
OpenSSL
:: Engine (1) -
OpenSSL
:: HMAC (3) -
OpenSSL
:: Netscape :: SPKI (1) -
OpenSSL
:: OCSP :: BasicResponse (3) -
OpenSSL
:: OCSP :: Request (3) -
OpenSSL
:: PKCS7 (4) -
OpenSSL
:: PKey :: DH (1) -
OpenSSL
:: PKey :: EC (1) -
OpenSSL
:: PKey :: EC :: Group (1) -
OpenSSL
:: PKey :: EC :: Point (3) -
OpenSSL
:: SSL :: SSLContext (1) -
OpenSSL
:: SSL :: SSLSocket (4) -
OpenSSL
:: X509 :: CRL (1) -
OpenSSL
:: X509 :: Certificate (2) -
OpenSSL
:: X509 :: Request (1) -
OpenSSL
:: X509 :: Store (4) -
OpenSSL
:: X509 :: StoreContext (1) - OpenStruct (6)
- OptionParser (22)
-
OptionParser
:: ParseError (2) - Pathname (92)
- PrettyPrint (1)
-
Prime
:: PseudoPrimeGenerator (6) - Proc (4)
-
Process
:: Status (3) -
Psych
:: Nodes :: Node (2) -
Psych
:: Parser (1) -
Psych
:: Stream (2) -
RDoc
:: CodeObject (3) -
REXML
:: Attribute (1) -
REXML
:: Attributes (2) -
REXML
:: Child (4) -
REXML
:: DocType (1) -
REXML
:: Element (7) -
REXML
:: ExternalEntity (1) -
REXML
:: NotationDecl (1) -
REXML
:: Parent (7) -
REXML
:: Text (1) -
Rake
:: FileList (5) -
Rake
:: PackageTask (1) -
Rake
:: Task (2) - Range (3)
- Rational (2)
- Regexp (1)
-
Resolv
:: DNS :: Name (1) - Ripper (2)
-
Ripper
:: Filter (2) -
RubyVM
:: InstructionSequence (4) - SDBM (7)
- Set (25)
- Shell (5)
-
Shell
:: CommandProcessor (6) -
Shell
:: Filter (1) - SignalException (2)
-
Socket
:: Ifaddr (1) - String (99)
- StringIO (15)
- StringScanner (1)
- Struct (7)
- Symbol (11)
- SystemCallError (1)
- Tempfile (3)
- Thread (6)
-
Thread
:: Backtrace :: Location (2) - ThreadGroup (3)
- Time (20)
- TracePoint (8)
-
URI
:: Generic (5) - UnboundMethod (4)
- UncaughtThrowError (1)
- Vector (5)
-
WEBrick
:: HTTPServlet :: ProcHandler (1) -
WEBrick
:: HTTPUtils :: FormData (2) -
WIN32OLE
_ TYPE (11) -
WIN32OLE
_ VARIANT (4) -
Win32
:: Registry (2) -
YAML
:: DBM (2) -
Zlib
:: Deflate (1) -
Zlib
:: GzipFile :: Error (1) -
Zlib
:: GzipReader (4) -
Zlib
:: GzipWriter (2) -
Zlib
:: Inflate (1)
モジュール
- Comparable (2)
- Enumerable (21)
-
Gem
:: Security (1) - ObjectSpace (3)
-
OpenSSL
:: Buffering (1) -
OpenSSL
:: Random (1) -
OpenSSL
:: X509 (2) -
OpenURI
:: OpenRead (3) -
OptionParser
:: Arguable (2) - Process (1)
-
RDoc
:: Text (1) -
REXML
:: Namespace (1) -
REXML
:: Node (1) - Syslog (5)
オブジェクト
- ENV (14)
-
Readline
:: HISTORY (2) - main (2)
キーワード
- != (1)
- !~ (1)
- % (2)
- & (1)
- * (3)
- ** (1)
- + (3)
-
/ (1) -
1
. 6 . 8から1 . 8 . 0への変更点(まとめ) (1) - < (1)
- << (13)
- <=> (10)
- == (4)
- === (3)
- =~ (3)
- >> (1)
- Comparable (1)
-
Data
_ Get _ Struct (1) - Marshal フォーマット (1)
- Numeric (1)
- Options (1)
-
Profiler
_ _ (1) - Ruby プログラムの実行 (1)
- Rubyで使われる記号の意味(正規表現の複雑な記号は除く) (1)
- UnboundMethod (1)
-
V
_ ERR _ DEPTH _ ZERO _ SELF _ SIGNED _ CERT (1) -
V
_ ERR _ SELF _ SIGNED _ CERT _ IN _ CHAIN (1) - WorkSpace (1)
- X509 (1)
- [] (11)
- []= (10)
-
_ dump (1) - abbrev (1)
- abs (1)
- abs2 (1)
- absolute? (1)
-
absolute
_ path (2) - accept (1)
-
accept
_ nonblock (1) - add (3)
- add? (1)
-
add
_ cert (1) -
add
_ certid (1) -
add
_ certificate (1) -
add
_ crl (2) -
add
_ file (3) -
add
_ file _ simple (2) -
add
_ gem _ contents (1) -
add
_ namespace (2) -
add
_ nonce (2) -
add
_ path (1) -
add
_ recipient (1) -
add
_ signer (1) -
add
_ status (1) -
alias
_ command (3) -
append
_ data (1) -
append
_ features (1) -
arg
_ defined (1) - ascend (2)
- assign (1)
- atime (1)
- autoload (1)
- basename (1)
- between? (1)
- bind (1)
- binread (1)
- binwrite (1)
- birthtime (1)
-
block
_ pass (1) - blockdev? (1)
-
build
_ self _ signed _ cert (1) - bytes (2)
-
call
_ trace _ func (1) - capitalize (1)
- capitalize! (1)
- casecmp (1)
- casecmp? (1)
- cause (1)
- cd (2)
- center (1)
- chardev? (1)
- chdir (1)
- children (1)
- chmod (1)
- chomp (1)
- chomp! (1)
- chop! (1)
- chown (1)
- chr (3)
-
chunk
_ while (1) - clamp (1)
- class (1)
-
class
_ eval (2) -
class
_ exec (1) - cleanup (1)
- clear (5)
-
clear
_ bit! (1) -
clear
_ prerequisites (1) -
clock
_ gettime (1) - clone (2)
- codepoints (8)
- coerce (3)
- collect! (3)
- column (4)
- compact (2)
- compact! (2)
-
compare
_ by _ identity (1) - component (1)
- concat (4)
- configure (1)
- connect (1)
-
connect
_ nonblock (1) - copy (1)
- count (1)
- covector (1)
- create (1)
-
cross
_ product (1) - crypt (1)
- ctime (1)
-
ctrl
_ cmd (1) - curry (2)
- decrypt (2)
- default (2)
-
default
_ event _ sources (1) -
default
_ ole _ types (1) -
default
_ port (1) - define (1)
-
define
_ finalizer (2) -
defined
_ class (1) - delete (4)
- delete! (1)
- delete? (1)
-
delete
_ if (6) -
delete
_ namespace (1) -
deprecate
_ constant (1) - descend (2)
- dig (1)
- directory? (1)
- dirname (1)
- disable (2)
- disjoint? (1)
- display (1)
- div (1)
- downcase (1)
- downcase! (1)
- dup (2)
- each (29)
-
each
_ byte (6) -
each
_ char (2) -
each
_ child (2) -
each
_ codepoint (8) -
each
_ entry (1) -
each
_ filename (1) -
each
_ key (4) -
each
_ line (14) -
each
_ pair (11) -
each
_ value (2) -
each
_ with _ index (4) - eigen (1)
- eigensystem (1)
- empty? (1)
- enable (2)
- enabled? (1)
- enclose (1)
- encode (3)
- encode! (2)
- encrypt (2)
- enhance (1)
- entries (1)
-
enum
_ for (2) - eql? (3)
- equal? (2)
- eval (2)
- exception (3)
- exclude (1)
- executable? (1)
-
executable
_ real? (1) - execute (2)
- exist? (1)
- exit (1)
- exponent (1)
- extend (1)
- extended (1)
- extname (1)
- fdiv (2)
- file (1)
- file? (1)
- fill (6)
- find (2)
-
find
_ proxy (1) -
first
_ lineno (1) - flatten (2)
- flatten! (2)
- flush (1)
-
flush
_ sessions (1) - fnmatch (1)
- fnmatch? (1)
-
force
_ encoding (1) - freeze (1)
- friday? (1)
- ftype (1)
-
generate
_ key (1) -
generate
_ key! (1) -
get
_ instance (1) - getopts (2)
- gmt? (1)
- gmtime (1)
- group (1)
- grpowned? (1)
- gsub! (5)
-
has
_ name? (1) - hash (4)
- header (1)
- hex (1)
- i (1)
-
implemented
_ ole _ types (1) - import (1)
- include (1)
- include? (1)
- included (1)
- independent? (1)
-
index
_ in _ parent (1) -
initialize
_ copy (1) - inject (3)
- insert (2)
-
insert
_ after (1) -
insert
_ before (1) - inspect (13)
-
instance
_ eval (2) - intersect? (1)
- invert! (1)
- irb (1)
-
irb
/ ext / workspaces (1) -
irb
/ workspace (1) -
keep
_ if (7) - kill (1)
- lazy (1)
- lchmod (1)
- lchown (1)
- length (1)
- lineno (2)
- lines (4)
- list (1)
- ljust (1)
-
load
_ gems _ in (1) -
local
_ variables (1) - localtime (2)
- log (1)
- lshift! (1)
- lstat (1)
- lstrip! (1)
- lup (1)
-
lup
_ decomposition (1) - magnitude (1)
- main (1)
-
make
_ affine! (1) -
make
_ link (1) -
make
_ symlink (1) - map! (3)
- markup (1)
- mask! (1)
-
mask
_ bits! (1) - massign (1)
- match (3)
- match? (2)
-
max
_ by (4) - merge (4)
- merge! (3)
- minor (2)
- mkdir (2)
- mkpath (1)
-
mod
_ add (1) -
mod
_ exp (1) -
mod
_ inverse (1) -
mod
_ mul (1) -
mod
_ sqr (1) -
mod
_ sub (1) -
module
_ eval (2) -
module
_ exec (1) -
module
_ function (1) - modulo (1)
- monday? (1)
- mountpoint? (1)
- mtime (1)
- name (1)
- namespace (1)
- namespaces (2)
- native (1)
- new (3)
- next (1)
- next! (1)
-
next
_ float (1) -
next
_ sibling= (1) - nonzero? (1)
- offset (2)
-
ole
_ type (1) - on (12)
-
on
_ head (1) -
on
_ tail (1) - open (8)
- open! (1)
- opendir (2)
- ord (1)
- order! (2)
- owned? (1)
- parent (1)
- parent= (1)
-
parent
_ file _ name (1) -
parent
_ name (1) - parse (1)
- parse! (1)
-
parse
_ csv (1) - parser (1)
- partition (1)
- path (3)
-
pending
_ interrupt? (1) - permutation (2)
- permute! (1)
- pipe? (1)
- polar (1)
- pos= (1)
- positive? (3)
- pow (2)
- power (2)
- pp (2)
- ppx (1)
- precs (1)
- pred (1)
- prefixes (2)
- prepend (1)
-
prepend
_ features (1) - prepended (1)
- prerelease? (1)
-
pretty
_ inspect (1) -
pretty
_ print (1) -
prev
_ float (1) -
prev
_ year (1) -
previous
_ sibling= (1) -
prime
_ division (1) - printf (1)
- printn (1)
- private (2)
-
private
_ class _ method (1) -
private
_ constant (1) -
proc
_ eq (1) -
proc
_ invoke (1) -
proc
_ to _ s (1) - product (2)
- profile (1)
- progid (1)
-
proper
_ subset? (1) -
proper
_ superset? (1) - protected (1)
- public (2)
-
public
_ class _ method (1) -
public
_ constant (1) -
public
_ instance _ method (1) - push (5)
- putc (1)
- puts (3)
- quo (1)
-
random
_ add (1) - rationalize (1)
-
rb
_ iterate (1) -
rb
_ yield _ 0 (1) - read (2)
- readable? (1)
-
readable
_ real? (1) -
reader
_ header (1) - readlines (1)
- readlink (1)
- realpath (2)
- receiver (1)
- recover (1)
- reduce (3)
- rehash (1)
- reject (2)
- reject! (6)
- relative? (1)
-
relative
_ path _ from (1) - remainder (1)
- rename (1)
- reopen (5)
-
repeated
_ combination (2) -
repeated
_ permutation (2) - replace (9)
-
replace
_ child (1) -
replace
_ with (1) - report (1)
- reset (3)
- response (1)
- resume (1)
- reverse (1)
- reverse! (2)
-
reverse
_ each (2) - rewind (1)
- rfc2822 (1)
- rfc822 (1)
- rindex (1)
- rjust (1)
- rmdir (1)
- rmtree (1)
- root? (1)
- round (1)
- row (2)
- rpartition (1)
- rshift! (1)
- rstrip! (1)
-
ruby 1
. 6 feature (1) -
ruby 1
. 8 . 2 feature (1) -
ruby 1
. 8 . 3 feature (1) -
ruby 1
. 8 . 4 feature (1) -
ruby 1
. 9 feature (1) - sample (4)
- saturday? (1)
- scan (2)
- scrub (1)
- scrub! (1)
- seek (1)
- select! (4)
- set (1)
-
set
_ bit! (1) -
set
_ encoding (5) -
set
_ generator (1) -
set
_ option (1) -
set
_ to _ infinity! (1) - setgid? (1)
- setuid? (1)
- shift (1)
- sign (6)
- signm (1)
- signo (1)
-
singleton
_ methods (1) - size (2)
- size? (1)
- skip (1)
- slice (7)
-
slice
_ when (1) - socket? (1)
- solve (1)
- sort (2)
- sort! (2)
-
sort
_ by (2) -
source
_ ole _ types (1) -
specific
_ eval (1) - split (1)
- squeeze! (1)
-
src
_ type (1) - start (6)
- stat (1)
- step (10)
- sticky? (1)
-
stop
_ doc (1) - strip! (1)
- strptime (2)
- sub (2)
- sub! (4)
-
subdomain
_ of? (1) - subset? (1)
- subtract (1)
- succ (2)
- succ! (1)
- sum (1)
- summarize (2)
- sunday? (1)
-
super
_ method (2) - superclass (1)
- superset? (1)
- swapcase (1)
- swapcase! (1)
- symlink? (1)
- sysopen (1)
- taint (1)
- tap (1)
- terminate (2)
- thursday? (1)
-
to
_ a (2) -
to
_ bn (2) -
to
_ c (2) -
to
_ csv (1) -
to
_ enum (2) -
to
_ h (2) -
to
_ hash (3) -
to
_ path (1) -
to
_ proc (4) -
to
_ range (1) -
to
_ s (7) -
to
_ str (3) - tr! (1)
-
tr
_ s! (1) - transact (1)
- transpose (1)
- truncate (1)
- tuesday? (1)
- typekind (1)
-
unalias
_ command (1) -
undef
_ system _ command (1) -
undefine
_ finalizer (1) - uniq (2)
- uniq! (2)
- unlink (5)
- unscan (1)
- unshift (2)
- untaint (1)
- upcase (1)
- upcase! (1)
- update (11)
- upto (5)
- utc (1)
- utc? (1)
- utime (1)
- value (1)
- value= (1)
- vartype (1)
- verify (1)
- wakeup (1)
- wednesday? (1)
- whitespace (1)
-
with
_ index (2) -
world
_ readable? (1) -
world
_ writable? (1) - writable? (1)
-
writable
_ real? (1) - write (4)
- zero? (1)
- zip (4)
- ~ (1)
- クラス/メソッドの定義 (1)
- メソッド呼び出し(super・ブロック付き・yield) (1)
- 制御構造 (1)
- 変数と定数 (1)
- 字句構造 (1)
検索結果
先頭5件
-
static VALUE proc
_ invoke(VALUE proc , VALUE args , int pcall , VALUE self) (78997.0) -
Proc オブジェクト proc を起動します。そのとき 引数を args とし、self を self にします。
Proc オブジェクト proc を起動します。そのとき
引数を args とし、self を self にします。 -
static VALUE proc
_ eq(VALUE self , VALUE other) (78601.0) -
-
static VALUE proc
_ to _ s(VALUE self , VALUE other) (78601.0) -
-
pp (78055.0)
-
オブジェクトなどを見やすく出力するためのライブラリです。
オブジェクトなどを見やすく出力するためのライブラリです。
このライブラリを require すると Kernel.#pp が定義されます。
Kernel.#p のかわりに Kernel.#pp を使うことにより、
適切にインデントと改行された分かりやすい出力を得ることが出来ます。
pp ライブラリは、ユーザがあたらしく定義したクラスに対しても見やすい表示を
するように作られていますので、Kernel.#pp を使う上で余計な作業をする
必要はありません。
=== どちらが読みやすいでしょうか?
p による pretty-print されてない出力:
#<PP:0x81a0d10 @s... -
profile (78037.0)
-
Ruby プログラムのためのプロファイラです。 プロファイラとは効率改善のための調査に用いられるツールのことです。 profile ライブラリは各メソッドの実行時間に関する統計を出力します。
Ruby プログラムのためのプロファイラです。
プロファイラとは効率改善のための調査に用いられるツールのことです。
profile ライブラリは各メソッドの実行時間に関する統計を出力します。
profile はそれ自身がオーバーヘッドになる
ためメソッド呼び出しあたりの処理時間がかなり遅くなります。
=== 使い方
以下のように、ruby に -r profile オプションを付けて実行します。
$ ruby -r profile foo.rb
foo.rb の実行が終わると標準エラー出力にプロファイルが出力されます。
プロファイルは各メソッドの実行時間に関する統計からなります... -
TracePoint
# self -> object (63322.0) -
イベントを発生させたオブジェクトを返します。
イベントを発生させたオブジェクトを返します。
以下のようにする事で同じ値を取得できます。
//emlist[例][ruby]{
trace.binding.eval('self')
//}
@see TracePoint#binding -
Pathname
# expand _ path(default _ dir = & # 39; . & # 39;) -> Pathname (45967.0) -
Pathname.new(File.expand_path(self.to_s, *args)) と同じです。
Pathname.new(File.expand_path(self.to_s, *args)) と同じです。
@param default_dir self が相対パスであれば default_dir を基準に展開されます。
//emlist[例][ruby]{
require "pathname"
path = Pathname("testfile")
Pathname.pwd # => #<Pathname:/path/to>
path.expand_path # => #<Pathname:/path/to/testfile>
path.e... -
Array
# repeated _ permutation(n) { |p| . . . } -> self (36925.0) -
サイズ n の重複順列をすべて生成し,それを引数としてブロックを実行します。
サイズ n の重複順列をすべて生成し,それを引数としてブロックを実行します。
得られる順列の順序は保証されません。ブロックなしで呼び出されると, 順列
を生成する Enumerator オブジェクトを返します。
@param n 生成する配列のサイズを整数で指定します。
整数以外のオブジェクトを指定した場合は to_int メソッドによる暗
黙の型変換を試みます。
@raise TypeError 引数に整数以外の(暗黙の型変換が行えない)オブジェクトを
指定した場合に発生します。
//emlist[例][ruby... -
OpenURI
:: OpenRead # open(mode = & # 39;r& # 39; , perm = nil , options = {}) -> StringIO (36649.0) -
自身が表すリソースを取得して StringIO オブジェクトとして返します。 OpenURI.open_uri(self, *rest, &block) と同じです。
自身が表すリソースを取得して StringIO オブジェクトとして返します。
OpenURI.open_uri(self, *rest, &block) と同じです。
ブロックを与えた場合は StringIO オブジェクトを引数としてブロックを
評価します。ブロックの終了時に StringIO は close されます。nil を返します。
返り値である StringIO オブジェクトは OpenURI::Meta モジュールで extend されています。
@param mode モードを文字列で与えます。Kernel.#open と同じです。
@param perm 無視されます... -
OpenURI
:: OpenRead # open(mode = & # 39;r& # 39; , perm = nil , options = {}) {|sio| . . . } -> nil (36649.0) -
自身が表すリソースを取得して StringIO オブジェクトとして返します。 OpenURI.open_uri(self, *rest, &block) と同じです。
自身が表すリソースを取得して StringIO オブジェクトとして返します。
OpenURI.open_uri(self, *rest, &block) と同じです。
ブロックを与えた場合は StringIO オブジェクトを引数としてブロックを
評価します。ブロックの終了時に StringIO は close されます。nil を返します。
返り値である StringIO オブジェクトは OpenURI::Meta モジュールで extend されています。
@param mode モードを文字列で与えます。Kernel.#open と同じです。
@param perm 無視されます... -
Array
# repeated _ permutation(n) -> Enumerator (36625.0) -
サイズ n の重複順列をすべて生成し,それを引数としてブロックを実行します。
サイズ n の重複順列をすべて生成し,それを引数としてブロックを実行します。
得られる順列の順序は保証されません。ブロックなしで呼び出されると, 順列
を生成する Enumerator オブジェクトを返します。
@param n 生成する配列のサイズを整数で指定します。
整数以外のオブジェクトを指定した場合は to_int メソッドによる暗
黙の型変換を試みます。
@raise TypeError 引数に整数以外の(暗黙の型変換が行えない)オブジェクトを
指定した場合に発生します。
//emlist[例][ruby... -
Object
# pretty _ print(pp) -> () (36619.0) -
PP.pp や Kernel.#pp がオブジェクトの内容を出力するときに 呼ばれるメソッドです。PP オブジェクト pp を引数として呼ばれます。
PP.pp や Kernel.#pp がオブジェクトの内容を出力するときに
呼ばれるメソッドです。PP オブジェクト pp を引数として呼ばれます。
あるクラスの pp の出力をカスタマイズしたい場合は、このメソッドを再定義します。
そのとき pretty_print メソッドは指定された pp に対して表示したい自身の内容を追加して
いかなければいけません。いくつかの組み込みクラスについて、
pp ライブラリはあらかじめ pretty_print メソッドを定義しています。
@param pp PP オブジェクトです。
//emlist[][ruby]{
require 'pp'
... -
OpenSSL
:: X509 :: V _ ERR _ DEPTH _ ZERO _ SELF _ SIGNED _ CERT -> Integer (36604.0) -
検証している証明書がルート CA (自己署名証明書)であり、 それが信頼されている証明書でないことを意味します。
検証している証明書がルート CA (自己署名証明書)であり、
それが信頼されている証明書でないことを意味します。
OpenSSL::X509::Store#error や
OpenSSL::X509::StoreContext#error のエラーコードとして
使われます。
@see OpenSSL::X509::Store#add_file,
OpenSSL::X509::Store#add_path,
OpenSSL::X509::Store#add_cert,
OpenSSL::X509::Store#set_default_paths -
OptionParser
:: ParseError # set _ option(opt , eq) -> self (27958.0) -
エラーのあったオプションを指定します。
エラーのあったオプションを指定します。
eq が真の場合、self が管理するエラーのあったオプションの一覧の先頭を
opt で置き換えます。そうでない場合は先頭に opt を追加します。
@param opt エラーのあったオプションを指定します。
@param eq self が管理するエラーのあったオプションの一覧の先頭を置き換え
るかどうかを指定します。
@return self を返します。 -
Pathname
# relative _ path _ from(base _ directory) -> Pathname (27703.0) -
base_directory から self への相対パスを求め、その内容の新しい Pathname オブジェクトを生成して返します。
base_directory から self への相対パスを求め、その内容の新しい Pathname
オブジェクトを生成して返します。
パス名の解決は文字列操作によって行われ、ファイルシステムをアクセス
しません。
self が相対パスなら base_directory も相対パス、self が絶対パスなら
base_directory も絶対パスでなければなりません。
@param base_directory ベースディレクトリを表す Pathname オブジェクトを指定します。
@raise ArgumentError Windows上でドライブが違うなど、base_direct... -
Proc
# to _ proc -> self (27670.0) -
self を返します。
self を返します。
//emlist[例][ruby]{
pr = proc {}
p pr == pr.to_proc # => true
//} -
OptionParser
:: Arguable # options -> OptionParser (27667.0) -
自身をパースするための OptionParser オブジェクトを返します。 初回呼び出し時に自動的に生成されます。 この OptionParser#default_argv には self がセットされています。
自身をパースするための OptionParser オブジェクトを返します。
初回呼び出し時に自動的に生成されます。
この OptionParser#default_argv には self がセットされています。
ブロックを与えた場合は、OptionParser を引数としてブロックを実行します。
ブロックの実行結果を返します。
ブロックの実行途中で OptionParser::ParseError
が発生した場合は、全て rescue し、エラーメッセージを出力し、
nil を返します。
//emlist[][ruby]{
require 'optparse'
o = nil
ARG... -
OptionParser
:: Arguable # options {|opt| . . . } -> object | nil (27667.0) -
自身をパースするための OptionParser オブジェクトを返します。 初回呼び出し時に自動的に生成されます。 この OptionParser#default_argv には self がセットされています。
自身をパースするための OptionParser オブジェクトを返します。
初回呼び出し時に自動的に生成されます。
この OptionParser#default_argv には self がセットされています。
ブロックを与えた場合は、OptionParser を引数としてブロックを実行します。
ブロックの実行結果を返します。
ブロックの実行途中で OptionParser::ParseError
が発生した場合は、全て rescue し、エラーメッセージを出力し、
nil を返します。
//emlist[][ruby]{
require 'optparse'
o = nil
ARG... -
Exception
# exception -> self (27652.0) -
引数を指定しない場合は self を返します。引数を指定した場合 自身のコピー を生成し Exception#message 属性を error_message にして返します。
引数を指定しない場合は self を返します。引数を指定した場合 自身のコピー
を生成し Exception#message 属性を error_message にして返します。
Kernel.#raise は、実質的に、例外オブジェクトの exception
メソッドの呼び出しです。
@param error_message エラーメッセージを表す文字列を指定します。
//emlist[例][ruby]{
begin
# ... # 何か処理
rescue => e
raise e.exception("an error occurs during hogeho... -
Exception
# exception(error _ message) -> Exception (27652.0) -
引数を指定しない場合は self を返します。引数を指定した場合 自身のコピー を生成し Exception#message 属性を error_message にして返します。
引数を指定しない場合は self を返します。引数を指定した場合 自身のコピー
を生成し Exception#message 属性を error_message にして返します。
Kernel.#raise は、実質的に、例外オブジェクトの exception
メソッドの呼び出しです。
@param error_message エラーメッセージを表す文字列を指定します。
//emlist[例][ruby]{
begin
# ... # 何か処理
rescue => e
raise e.exception("an error occurs during hogeho... -
OptionParser
. getopts(*opts) -> Hash (27649.0) -
引数をパースした結果を、Hash として返します。(self.new.getopts と同じです)
引数をパースした結果を、Hash として返します。(self.new.getopts と同じです)
@param argv パースしたい配列を指定します。
@param opts 引数を文字列で指定します。
@raise OptionParser::ParseError パースに失敗した場合、発生します。
実際は OptionParser::ParseError のサブク
ラスになります。
@see OptionParser#getopts -
OptionParser
. getopts(argv , *opts) -> Hash (27649.0) -
引数をパースした結果を、Hash として返します。(self.new.getopts と同じです)
引数をパースした結果を、Hash として返します。(self.new.getopts と同じです)
@param argv パースしたい配列を指定します。
@param opts 引数を文字列で指定します。
@raise OptionParser::ParseError パースに失敗した場合、発生します。
実際は OptionParser::ParseError のサブク
ラスになります。
@see OptionParser#getopts -
Pathname
# parent -> Pathname (27649.0) -
self の親ディレクトリを指す新しい Pathname オブジェクトを返します。
self の親ディレクトリを指す新しい Pathname オブジェクトを返します。
//emlist[例 絶対パス][ruby]{
require "pathname"
path = Pathname("/usr")
path # => #<Pathname:/usr>
path.parent # => #<Pathname:/>
//}
//emlist[例 相対パス][ruby]{
require "pathname"
path = Pathname("foo/bar")
path.parent # => #<Pathname:foo>
p... -
Pathname
# realpath -> Pathname (27637.0) -
余計な "."、".." や "/" を取り除いた新しい Pathname オブジェクトを返します。
余計な "."、".." や "/" を取り除いた新しい Pathname オブジェクトを返します。
また、ファイルシステムをアクセスし、実際に存在するパスを返します。
シンボリックリンクも解決されます。
self が指すパスが存在しない場合は例外 Errno::ENOENT が発生します。
@param basedir ベースディレクトリを指定します。省略するとカレントディレクトリになります。
//emlist[例][ruby]{
require 'pathname'
Dir.rmdir("/tmp/foo") rescue nil
File.unlink("/tmp/b... -
Pathname
# realpath(basedir = nil) -> Pathname (27637.0) -
余計な "."、".." や "/" を取り除いた新しい Pathname オブジェクトを返します。
余計な "."、".." や "/" を取り除いた新しい Pathname オブジェクトを返します。
また、ファイルシステムをアクセスし、実際に存在するパスを返します。
シンボリックリンクも解決されます。
self が指すパスが存在しない場合は例外 Errno::ENOENT が発生します。
@param basedir ベースディレクトリを指定します。省略するとカレントディレクトリになります。
//emlist[例][ruby]{
require 'pathname'
Dir.rmdir("/tmp/foo") rescue nil
File.unlink("/tmp/b... -
WIN32OLE
_ TYPE # default _ ole _ types -> [WIN32OLE _ TYPE] (27619.0) -
型が持つデフォルトのインターフェイスを取得します。
型が持つデフォルトのインターフェイスを取得します。
default_ole_typesメソッドは、selfがCoClass(コンポーネントクラス)の場
合、そのクラスが実装しているデフォルトのインターフェイスと、サポートし
ていればデフォルトのソースインターフェイスを返します。
@return デフォルトインターフェイスをWIN32OLE_TYPEの配列として返し
ます。デフォルトインターフェイスは、最大でも、クラス操作用のイ
ンターフェイス(OLEオートメーション用)と、イベント用のソースイ
ンターフェイスの2要素です。デフォルトインターフ... -
WIN32OLE
_ TYPE # source _ ole _ types -> [WIN32OLE _ TYPE] (27619.0) -
型が持つソースインターフェイスを取得します。
型が持つソースインターフェイスを取得します。
source_ole_typesメソッドは、selfがCoClass(コンポーネントクラス)の場合、
そのクラスがサポートするすべてのソースインターフェイス(イベントの通知
元となるインターフェイス)を返します。
ActiveXコントロールのようにイベント(WIN32OLE_EVENT)をサポートし
ているコンポーネントクラスの場合は、このメソッドの呼び出しによりイベン
トインターフェイスを調べることが可能です。
@return ソースインターフェイスをWIN32OLE_TYPEの配列として返します。
ソースインターフェイスを... -
GetoptLong
# set _ options(*arguments) -> self (27604.0) -
あなたのプログラムで、認識させたいオプションをセットします。 個々のオプションは、オプション名と引数のフラグからなる配列でな ければいけません。
あなたのプログラムで、認識させたいオプションをセットします。
個々のオプションは、オプション名と引数のフラグからなる配列でな
ければいけません。
配列中のオプション名は、一文字オプション (例: -d) か長いオプ
ション (例: --debug) を表した文字列のいずれかでなければなり
ません。配列の中の一番左端のオプション名が、オプションの正式名
になります。配列中の引数のフラグは、GetoptLong::NO_ARGUMENT,
GetoptLong::REQUIRE_ARGUMENT, GetoptLong::OPTIONAL_ARGUMENT
のいずれかでなくてはなりません。
オ... -
WIN32OLE
_ TYPE # ole _ type -> String | nil (27385.0) -
selfの型の種類(TYPEKIND)を取得します。
selfの型の種類(TYPEKIND)を取得します。
@return selfの型の種類を文字列で返します。情報が取得できない場合はnilを返します。
tobj = WIN32OLE_TYPE.new('Microsoft Excel 14.0 Object Library', 'Application')
p tobj.ole_type # => Class
ole_typeには以下があります。
: Enum
列挙子(0)
: Record
ユーザ定義型(メソッドを持たない構造体)(1)
: Module
モジュール(静的関数やデータだけを保持)(2)
: In... -
WIN32OLE
_ TYPE # src _ type -> String | nil (27385.0) -
selfが他の型の別名ならば、元の型名を取得します。
selfが他の型の別名ならば、元の型名を取得します。
@return selfが別名ならば元の型名を文字列で返します。別名でなければnilを
返します。
tobj = WIN32OLE_TYPE.new('Microsoft Office 14.0 Object Library', 'MsoRGBType')
p tobj.src_type # => "I4"
この例は、OfficeのMsoRGBType型は符号付き32ビット整数(I4)の別名だとい
うことを示します。 -
WIN32OLE
_ TYPE # typekind -> Integer (27367.0) -
selfの種類を示す値を取得します。
selfの種類を示す値を取得します。
値の意味については、WIN32OLE_TYPE#ole_typeを参照してください。
@return 型の種類を示す数値を返します。
@raise WIN32OLERuntimeError 型の種類(TYPEKIND)を取得できない場合に通知します。
tobj = WIN32OLE_TYPE.new('Microsoft Word 14.0 Object Library', 'Documents')
p tobj.typekind # => 4
@see WIN32OLE_TYPE#ole_type -
IRB
:: OutputMethod # puts(*objs) -> object (27349.0) -
各 obj を self に出力し、それぞれの後に改行を出力します。
各 obj を self に出力し、それぞれの後に改行を出力します。
@param objs 任意のオブジェクトを指定します。 -
Pathname
# mkpath -> nil (27349.0) -
FileUtils.mkpath(self.to_s) と同じです。
FileUtils.mkpath(self.to_s) と同じです。
@see FileUtils.#mkpath -
WIN32OLE
_ TYPE # inspect -> String (27349.0) -
selfを説明的な文字列で表現します。
selfを説明的な文字列で表現します。
@return "#<WIN32OLE_TYPE"とWIN32OLE_TYPE#to_sの結果を「:」で結合
し、「>」で閉じた文字列を返します。
x = WIN32OLE_TYPE.new('Microsoft Excel 14.0 Object Library', 'Worksheet')
puts x.inspect #=> #<WIN32OLE_TYPE:Worksheet>
@see WIN32OLE_TYPE#to_s -
PrettyPrint
# group(indent = 0 , open _ obj = & # 39;& # 39; , close _ obj = & # 39;& # 39; , open _ width = open _ obj . length , close _ width = close _ obj . length) { . . . } -> () (27337.0) -
与えられたブロックを実行します。 ブロック内で自身に追加される文字列やオブジェクトは、1行にまとめて表示しても よい同じグループに属すると仮定されます。
与えられたブロックを実行します。
ブロック内で自身に追加される文字列やオブジェクトは、1行にまとめて表示しても
よい同じグループに属すると仮定されます。
もう少し詳しく説明します。pretty printing アルゴリズムはインデントと改行を、
ツリー構造を作ることによって決定します。そして、group メソッドは子ノードの作成と
子ノードのインデントの深さの決定を担当します。
同じノード内で呼ばれた breakable は、改行するならば全て同時に改行します。
@param indent グループのインデントの深さを指定します。
@param open_obj 指定された場合、s... -
WIN32OLE
_ TYPE # implemented _ ole _ types -> [WIN32OLE _ TYPE] (27319.0) -
この型が実装するインターフェイスを取得します。
この型が実装するインターフェイスを取得します。
implemented_ole_typesメソッドは、selfがCoClass(コンポーネントクラス)
の場合、そのクラスが実装しているすべてのインターフェイスを返します。
@return クラスが実装するすべてのインターフェイスをWIN32OLE_TYPEの
配列として返します。この型がインターフェイスを実装しない場合は、
空配列を返します。
@raise WIN32OLERuntimeError 型属性が取得できない場合に通知します。
tobj = WIN32OLE_TYPE.new('Micro... -
OpenSSL
:: X509 :: V _ ERR _ SELF _ SIGNED _ CERT _ IN _ CHAIN -> Integer (27304.0) -
証明書チェインのルート CA (自己署名証明書)が 信頼されている証明書でないことを意味します。
証明書チェインのルート CA (自己署名証明書)が
信頼されている証明書でないことを意味します。
OpenSSL::X509::Store#error や
OpenSSL::X509::StoreContext#error のエラーコードとして
使われます。
@see OpenSSL::X509::Store#add_file,
OpenSSL::X509::Store#add_path,
OpenSSL::X509::Store#add_cert,
OpenSSL::X509::Store#set_default_paths -
String
# codepoints {|codepoint| block } -> self (18952.0) -
文字列の各コードポイントの配列を返します。(self.each_codepoint.to_a と同じです)
文字列の各コードポイントの配列を返します。(self.each_codepoint.to_a と同じです)
//emlist[例][ruby]{
#coding:UTF-8
"hello わーるど".codepoints
# => [104, 101, 108, 108, 111, 32, 12431, 12540, 12427, 12393]
//}
ブロックが指定された場合は String#each_codepoint と同じように動作します。
Ruby 2.6 までは deprecated の警告が出ますが、Ruby 2.7 で警告は削除されました。
@see String#e... -
Array
# permutation(n = self . length) { |p| block } -> self (18931.0) -
サイズ n の順列をすべて生成し,それを引数としてブロックを実行します。
サイズ n の順列をすべて生成し,それを引数としてブロックを実行します。
引数を省略した場合は配列の要素数と同じサイズの順列に対してブロックを実
行します。
得られる順列の順序は保証されません。ブロックなしで呼び出されると, 順列
を生成する Enumerator オブジェクトを返します。
@param n 生成する配列のサイズを整数で指定します。
整数以外のオブジェクトを指定した場合は to_int メソッドによる暗
黙の型変換を試みます。
@raise TypeError 引数に整数以外の(暗黙の型変換が行えない)オブジェクトを
... -
REXML
:: Parent # replace _ child(to _ replace , replacement) -> () (18919.0) -
子ノード列上の to_replace を replacement に置き換えます。
子ノード列上の to_replace を replacement に置き換えます。
to_replace の parent は nil に、
replacement の parent は selfに変更されます。
@param to_replace 置き換え元のノード
@param replacement 置き換え先のノード -
StringIO
# codepoints {|codepoint| . . . } -> self (18907.0) -
自身の各コードポイントに対して繰り返します。
自身の各コードポイントに対して繰り返します。
@see IO#each_codepoint -
StringIO
# each _ codepoint {|codepoint| . . . } -> self (18907.0) -
自身の各コードポイントに対して繰り返します。
自身の各コードポイントに対して繰り返します。
@see IO#each_codepoint -
OpenSSL
:: PKCS7 # add _ recipient(recipient) -> self (18904.0) -
送信者を追加します。
送信者を追加します。
このメソッドは使わないでください。
このメソッドは PKCS#7 の低レベル API であり、正しく使うのは
難しいでしょう。
@param recipient 追加する送信者(OpenSSL::PKCS7::RecipientInfo) -
OpenSSL
:: X509 :: Store # add _ path(path) -> self (18904.0) -
path が指し示すディレクトリに含まれる証明書ファイルを 信頼する証明書として加えます。
path が指し示すディレクトリに含まれる証明書ファイルを
信頼する証明書として加えます。
@param path 証明書が含まれるディレクトリのパス
@raise OpenSSL::X509::StoreError 追加に失敗した場合に発生します -
REXML
:: Element # delete _ namespace(namespace = "xmlns") -> self (18904.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=... -
String
# each _ codepoint {|codepoint| block } -> self (18904.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
# chomp!(rs = $ / ) -> self | nil (18832.0) -
self の末尾から rs で指定する改行コードを取り除きます。 ただし rs が "\n" ($/ のデフォルト値) のときは、 実行環境によらず "\r", "\r\n", "\n" のすべてを改行コードとみなして取り除きます。
self の末尾から rs で指定する改行コードを取り除きます。
ただし rs が "\n" ($/ のデフォルト値) のときは、
実行環境によらず "\r", "\r\n", "\n" のすべてを改行コードとみなして取り除きます。
rs に nil を指定した場合、このメソッドは何もしません。
rs に空文字列 ("") を指定した場合は「パラグラフモード」になり、
実行環境によらず末尾の連続する改行コード("\r\n", "\n")をすべて取り除きます。
@return chomp! は通常 self を返しますが、取り除く改行がなかった場合は nil を返します。
//emli... -
Numeric
# step(by: 1 , to: Float :: INFINITY) {|n| . . . } -> self (18766.0) -
self からはじめ step を足しながら limit を越える 前までブロックを繰り返します。step は負の数も指定できます。また、limit や step には Float なども 指定できます。
self からはじめ step を足しながら limit を越える
前までブロックを繰り返します。step は負の数も指定できます。また、limit や step には Float なども
指定できます。
@param limit ループの上限あるいは下限を数値で指定します。step に負の数が指定された場合は、
下限として解釈されます。
@param step 各ステップの大きさを数値で指定します。負の数を指定することもできます。
@param to 引数limitと同じですが、省略した場合はキーワード引数byが正の
数であれば Float::INF... -
Numeric
# step(by: , to: -Float :: INFINITY) {|n| . . . } -> self (18766.0) -
self からはじめ step を足しながら limit を越える 前までブロックを繰り返します。step は負の数も指定できます。また、limit や step には Float なども 指定できます。
self からはじめ step を足しながら limit を越える
前までブロックを繰り返します。step は負の数も指定できます。また、limit や step には Float なども
指定できます。
@param limit ループの上限あるいは下限を数値で指定します。step に負の数が指定された場合は、
下限として解釈されます。
@param step 各ステップの大きさを数値で指定します。負の数を指定することもできます。
@param to 引数limitと同じですが、省略した場合はキーワード引数byが正の
数であれば Float::INF... -
Numeric
# step(limit , step = 1) {|n| . . . } -> self (18766.0) -
self からはじめ step を足しながら limit を越える 前までブロックを繰り返します。step は負の数も指定できます。また、limit や step には Float なども 指定できます。
self からはじめ step を足しながら limit を越える
前までブロックを繰り返します。step は負の数も指定できます。また、limit や step には Float なども
指定できます。
@param limit ループの上限あるいは下限を数値で指定します。step に負の数が指定された場合は、
下限として解釈されます。
@param step 各ステップの大きさを数値で指定します。負の数を指定することもできます。
@param to 引数limitと同じですが、省略した場合はキーワード引数byが正の
数であれば Float::INF... -
SDBM
# replace(other) -> self (18760.0) -
self の内容を other の内容で置き換えます。
self の内容を other の内容で置き換えます。
@param other each_pair メソッドを持つオブジェクトでなければなりません。
require 'sdbm'
db1 = SDBM.open('aaa.gdbm', 0666)
db1['a'] = 'aaa'
db1['b'] = 'bbb'
db1['c'] = 'ccc'
db2 = SDBM.open('bbb.gdbm', 0666)
db2['c'] = 'ccc'
db2['d'] = 'ddd'
hash = { 'x' => 'xxx', 'y' => 'y... -
SDBM
# update(other) -> self (18760.0) -
self と other の内容をマージします。
self と other の内容をマージします。
重複するキーに対応する値はother の内容で上書きされます。
@param other each_pair メソッドを持つオブジェクトでなければなりません。
require 'sdbm'
db1 = SDBM.open('aaa.gdbm', 0666)
db1.clear
db1['a'] = 'aaa'
db1['b'] = 'bbb'
db1['c'] = 'ccc'
db2 = SDBM.open('bbb.gdbm', 0666)
db2.clear
db2['c'] = 'ccc'... -
Module
# prepend(*modules) -> self (18754.0) -
指定したモジュールを self の継承チェインの先頭に「追加する」ことで self の定数、メソッド、モジュール変数を「上書き」します。
指定したモジュールを self の継承チェインの先頭に「追加する」ことで
self の定数、メソッド、モジュール変数を「上書き」します。
継承チェイン上で、self のモジュール/クラスよりも「手前」に
追加されるため、結果として self で定義されたメソッドは
override されます。
modules で指定したモジュールは後ろから順に処理されるため、
modules の先頭が最も優先されます。
また、継承によってこの「上書き」を処理するため、prependの引数として
渡したモジュールのインスタンスメソッドでsuperを呼ぶことで
self のモジュール/クラスのメソッドを呼び... -
Hash
# compare _ by _ identity -> self (18748.0) -
ハッシュのキーの一致判定をオブジェクトの同一性で判定するように変更します。
ハッシュのキーの一致判定をオブジェクトの同一性で判定するように変更します。
デフォルトでは、キーのオブジェクトによっては内容が同じならキーが一致しているとみなされますが、より厳密に
Object#object_idが一致しているかどうかを条件とするようにselfを変更します。
selfが変化する破壊的メソッドです。
@return selfを返します。
//emlist[例][ruby]{
h1 = { "a" => 100, "b" => 200, :c => "c" }
p h1.compare_by_identity? #=> false
p h1["a"] #=... -
DBM
# replace(other) -> self (18742.0) -
self の内容を other の内容で置き換えます。
self の内容を other の内容で置き換えます。
@param other each_pair メソッドを持つオブジェクトでなければなりません。
require 'dbm'
db1 = DBM.open('aaa.db', 0666, DBM::NEWDB)
db1[:a] = 'aaa'
db1[:b] = 'bbbbbb'
db2 = DBM.open('bbb.db', 0666, DBM::NEWDB)
db2[:bb] = 'bbb'
db2[:cc] = 'ccc'
p db1.keys #=> ['b', 'a']
... -
Array
# compact! -> self | nil (18724.0) -
compact は自身から nil を取り除いた配列を生成して返します。 compact! は自身から破壊的に nil を取り除き、変更が 行われた場合は self を、そうでなければ nil を返します。
compact は自身から nil を取り除いた配列を生成して返します。
compact! は自身から破壊的に nil を取り除き、変更が
行われた場合は self を、そうでなければ nil を返します。
//emlist[例][ruby]{
ary = [1, nil, 2, nil, 3, nil]
p ary.compact #=> [1, 2, 3]
p ary #=> [1, nil, 2, nil, 3, nil]
ary.compact!
p ary #=> [1, 2, 3]
p ary.compact! #=> nil
//... -
Module
# public(*name) -> self (18712.0) -
メソッドを public に設定します。
メソッドを public に設定します。
引数なしのときは今後このクラスまたはモジュール定義内で新規に定義さ
れるメソッドをどんな形式でも呼び出せるように(public)設定します。
引数が与えられた時には引数によって指定されたメソッドを public に設
定します。
可視性については d:spec/def#limit を参照して下さい。
@param name 0 個以上の String または Symbol を指定します。
@raise NameError 存在しないメソッド名を指定した場合に発生します。
//emlist[例][ruby]{
def foo() 1 en... -
String
# strip! -> self | nil (18712.0) -
先頭と末尾の空白文字を全て破壊的に取り除きます。 空白文字の定義は " \t\r\n\f\v" です。 また、文字列右側からは "\0" も取り除きますが、 左側の "\0" は取り除きません。
先頭と末尾の空白文字を全て破壊的に取り除きます。
空白文字の定義は " \t\r\n\f\v" です。
また、文字列右側からは "\0" も取り除きますが、
左側の "\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 ... -
GDBM
# replace(other) -> self (18706.0) -
self の内容を other の内容で置き換えます。
self の内容を other の内容で置き換えます。
@param other each_pair メソッドを持つオブジェクトでなければなりません。
require 'gdbm'
db1 = GDBM.open('aaa.gdbm', 0666, GDBM::NEWDB)
db1['a'] = 'aaa'
db1['b'] = 'bbb'
db2 = GDBM.open('bbb.gdbm', 0666, GDBM::NEWDB)
db2['c'] = 'ccc'
db2['d'] = 'ddd'
hash = { 'x' => 'xxx', 'y... -
Hash
# compact! -> self | nil (18706.0) -
compact は自身から value が nil のもの取り除いた Hash を生成して返します。 compact! は自身から破壊的に value が nil のものを取り除き、変更が行われた場合は self を、そうでなければ nil を返します。
compact は自身から value が nil のもの取り除いた Hash を生成して返します。 compact! は自身から破壊的に value が nil のものを取り除き、変更が行われた場合は self を、そうでなければ nil を返します。
//emlist[例][ruby]{
hash = {a: 1, b: nil, c: 3}
p hash.compact #=> {:a=>1, :c=>3}
p hash #=> {:a=>1, :b=>nil, :c=>3}
hash.compact!
hash #=> {:a=>1, :... -
Module
# append _ features(module _ or _ class) -> self (18706.0) -
モジュール(あるいはクラス)に self の機能を追加します。
モジュール(あるいはクラス)に self の機能を追加します。
このメソッドは Module#include の実体であり、
include を Ruby で書くと以下のように定義できます。
//emlist[例][ruby]{
def include(*modules)
modules.reverse_each do |mod|
# append_features や included はプライベートメソッドなので
# 直接 mod.append_features(self) などとは書けない
mod.__send__(:append_features, s... -
Readline
:: HISTORY . push(*string) -> self (18706.0) -
ヒストリの最後に string で指定した文字列を追加します。複数の string を指定できます。 self を返します。
ヒストリの最後に string で指定した文字列を追加します。複数の string を指定できます。
self を返します。
@param string 文字列を指定します。複数指定できます。
例: "foo"を追加する。
require "readline"
Readline::HISTORY.push("foo")
p Readline::HISTORY[-1] #=> "foo"
例: "foo"、"bar"を追加する。
require "readline"
Readline::HISTORY.push("foo", "bar")
p Readli... -
Object
# tap {|x| . . . } -> self (18700.0) -
self を引数としてブロックを評価し、self を返します。
self を引数としてブロックを評価し、self を返します。
メソッドチェインの途中で直ちに操作結果を表示するために
メソッドチェインに "入り込む" ことが、このメソッドの主目的です。
//emlist[][ruby]{
(1..10) .tap {|x| puts "original: #{x}" }
.to_a .tap {|x| puts "array: #{x}" }
.select {|x| x.even? } .tap {|x| puts "evens: #{x}" }
.map ... -
Hash
# replace(other) -> self (18694.0) -
ハッシュの内容を other の内容で置き換えます。
ハッシュの内容を other の内容で置き換えます。
デフォルト値の設定もotherの内容になります。
otherがハッシュではない場合、otherのメソッドto_hashを使って暗黙の変換を試みます。
self = other.to_hash.dup と同じです。
@param other ハッシュまたはメソッド to_hash でハッシュに変換できるオブジェクトです。
@return self を返します。
//emlist[例][ruby]{
foo = {1 => 'a', 2 => 'b'}
bar = {2 => 'B', 3 => 'C'}
foo.replace(b... -
String
# lstrip! -> self | nil (18694.0) -
文字列の先頭にある空白文字を全て破壊的に取り除きます。 空白文字の定義は " \t\r\n\f\v" です。
文字列の先頭にある空白文字を全て破壊的に取り除きます。
空白文字の定義は " \t\r\n\f\v" です。
lstrip! は self を変更して返します。
ただし取り除く空白がなかったときは nil を返します。
//emlist[例][ruby]{
str = " abc"
p str.lstrip! # => "abc"
p str # => "abc"
str = "abc"
p str.lstrip! # => nil
p str # => "abc"
//} -
Hash
# keep _ if {|key , value| . . . } -> self (18691.0) -
キーと値を引数としてブロックを評価した結果が真であるような要素を self に残します。
キーと値を引数としてブロックを評価した結果が真であるような要素を self
に残します。
keep_if は常に self を返します。
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! # => #<E... -
String
# rstrip! -> self | nil (18676.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 -
Float
# prev _ float -> Float (18673.0) -
浮動小数点数で表現可能な self の前の値を返します。
浮動小数点数で表現可能な self の前の値を返します。
(-Float::MAX).prev_float と (-Float::INFINITY).prev_float
は -Float::INFINITY を返します。Float::NAN.prev_float は
Float::NAN を返します。
//emlist[例][ruby]{
p 0.01.prev_float # => 0.009999999999999998
p 1.0.prev_float # => 0.9999999999999999
p 100.0.prev_float # => 99.9999999999... -
DBM
# update(other) {|key , value| . . . } -> self (18670.0) -
self と other の内容をマージします。
self と other の内容をマージします。
重複するキーに対応する値はother の内容で上書きされます。
@param other each_pair メソッドを持つオブジェクトでなければなりません。
require 'dbm'
db1 = DBM.open('aaa.db', 0666, DBM::NEWDB)
db1[:a] = 'aaa'
db1[:b] = 'bbbbbb'
db2 = DBM.open('bbb.db', 0666, DBM::NEWDB)
db2[:bb] = 'bbb'
db2[:cc] = 'ccc'
... -
Module
# prepend _ features(mod) -> self (18670.0) -
Module#prepend から呼び出されるメソッドで、 prepend の処理の実体です。このメソッド自体は mod で指定した モジュール/クラスの継承チェインの先頭に self を追加します。
Module#prepend から呼び出されるメソッドで、
prepend の処理の実体です。このメソッド自体は mod で指定した
モジュール/クラスの継承チェインの先頭に self を追加します。
このメソッドを上書きすることで、prepend の処理を変更したり
追加したりすることができます。
@param mod prepend を呼び出したモジュール
@return mod が返されます
//emlist[例][ruby]{
class Recorder
RECORDS = []
end
module X
def self.prepend_features(mod)
... -
OpenStruct
# each _ pair { |key , value| } -> self (18670.0) -
self の各要素の名前と要素を引数としてブロックを評価します。
self の各要素の名前と要素を引数としてブロックを評価します。
ブロックを指定した場合は self を返します。そうでない場合は
Enumerator を返します。
例:
require 'ostruct'
data = OpenStruct.new("country" => "Australia", :population => 20_000_000)
data.each_pair.to_a # => population, 20000000 -
Set
# keep _ if {|element| . . . } -> self (18670.0) -
各要素に対してブロックを評価し、その結果が偽であった要素を self から削除します。
各要素に対してブロックを評価し、その結果が偽であった要素を self から削除します。
@return 常に self を返します。 -
Symbol
# to _ proc -> Proc (18667.0) -
self に対応する Proc オブジェクトを返します。
self に対応する Proc オブジェクトを返します。
生成される Proc オブジェクトを呼びだす(Proc#call)と、
Proc#callの第一引数をレシーバとして、 self という名前のメソッドを
残りの引数を渡して呼びだします。
//emlist[明示的に呼ぶ例][ruby]{
:to_i.to_proc["ff", 16] # => 255 ← "ff".to_i(16)と同じ
//}
//emlist[暗黙に呼ばれる例][ruby]{
# メソッドに & とともにシンボルを渡すと
# to_proc が呼ばれて Proc 化され、
# それがブロックとして渡される... -
OptionParser
# permute!(argv = self . default _ argv , into: nil) -> [String] (18658.0) -
与えられた argv を破壊的にパースします。argv からオプションがすべて取り除かれます。 オプションではないコマンドの引数(下の例で言うと somefile)があってもパースを中断しません。 argv を返します。
与えられた argv を破壊的にパースします。argv からオプションがすべて取り除かれます。
オプションではないコマンドの引数(下の例で言うと somefile)があってもパースを中断しません。
argv を返します。
下の例で言うと、order と違いコマンドの引数 somefile よりも後ろにオプションを置くことが
できます。
@param argv パースしたい引数を文字列の配列で指定します。
@param into オプションを格納するハッシュを指定します。
指定したハッシュにはオプションの名前をキーとして、OptionParser#onに渡されたブ... -
String
# capitalize!(*options) -> self | nil (18658.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... -
Integer
# prime _ division(generator = Prime :: Generator23 . new) -> [[Integer , Integer]] (18655.0) -
自身を素因数分解した結果を返します。
自身を素因数分解した結果を返します。
@param generator 素数生成器のインスタンスを指定します。
@return 素因数とその指数から成るペアを要素とする配列です。つまり、戻り値の各要素は2要素の配列 [n,e] であり、それぞれの内部配列の第1要素 n は self の素因数、第2要素は n**e が self を割り切る最大の自然数 e です。
@raise ZeroDivisionError self がゼロである場合に発生します。
@see Prime#prime_division
//emlist[例][ruby]{
require 'prime'
12.p... -
ARGF
. class # each _ codepoint { |c| . . . } -> self (18652.0) -
self の各コードポイントに対して繰り返しブロックを呼びだします。
self の各コードポイントに対して繰り返しブロックを呼びだします。
ブロックの引数にはコードポイントを表す整数が渡されます。
ブロックを省略した場合には、Enumerator を返します。
例:
# $ echo "line1\n" > test1.txt
# $ echo "line2\n" > test2.txt
# $ ruby test.rb test1.txt test2.txt
# test.rb
ARGF.each_codepoint # => #<Enumerator: ARGF:each_codepoint>
... -
ARGF
. class # skip -> self (18652.0) -
現在開いている処理対象のファイルをクローズします。 次回の読み込みは次の引数が処理対象になります。 self を返します。
現在開いている処理対象のファイルをクローズします。
次回の読み込みは次の引数が処理対象になります。
self を返します。
$ echo "foo" > foo
$ echo "bar" > bar
$ ruby argf.rb foo bar
ARGF.filename # => "foo"
ARGF.skip
ARGF.filename # => "bar" -
GDBM
# update(other) -> self (18652.0) -
self と other の内容をマージします。
self と other の内容をマージします。
重複するキーに対応する値はother の内容で上書きされます。
@param other each_pair メソッドを持つオブジェクトでなければなりません。 -
REXML
:: Child # replace _ with(child) -> self (18652.0) -
親ノードの子ノード列上において、 self を child に置き換えます。
親ノードの子ノード列上において、 self を child に置き換えます。
@param child 置き換え後のノード
@see REXML::Parent#replace_child -
String
# upto(max , exclusive = false) {|s| . . . } -> self (18652.0) -
self から始めて max まで 「次の文字列」を順番にブロックに与えて繰り返します。 「次」の定義については String#succ を参照してください。
self から始めて max まで
「次の文字列」を順番にブロックに与えて繰り返します。
「次」の定義については String#succ を参照してください。
たとえば以下のコードは a, b, c, ... z, aa, ... az, ..., za を
出力します。
//emlist[][ruby]{
("a" .. "za").each do |str|
puts str
end
'a'.upto('za') do |str|
puts str
end
//}
@param max 繰り返しをやめる文字列
@param exclusive max を含むかどうか... -
Hash
# to _ proc -> Proc (18649.0) -
self のキーに対応する値を返す Proc オブジェクトを返します。
self のキーに対応する値を返す Proc オブジェクトを返します。
//emlist[][ruby]{
h = {1 => 10, 2 => 20, 3 => 30}
[1, 2, 3].map(&h) # => [10, 20, 30]
//} -
Method
# to _ proc -> Proc (18649.0) -
self を call する Proc オブジェクトを生成して返します。
self を call する Proc オブジェクトを生成して返します。
//emlist[例][ruby]{
class Foo
def foo
"foo"
end
end
m = Foo.new.method(:foo) # => #<Method: Foo#foo>
pr = m.to_proc # => #<Proc:0x007f874d026008 (lambda)>
pr.call # => "foo"
//} -
Pathname
# open(mode = & # 39;r& # 39; , perm = 0666) -> File (18649.0) -
File.open(self.to_s, *args, &block) と同じです。
File.open(self.to_s, *args, &block) と同じです。
@see File.open -
Pathname
# open(mode = & # 39;r& # 39; , perm = 0666) {|file| . . . } -> object (18649.0) -
File.open(self.to_s, *args, &block) と同じです。
File.open(self.to_s, *args, &block) と同じです。
@see File.open -
URI
:: Generic # parser -> URI :: Parser (18649.0) -
selfのパーサを返します。未定義であった場合は URI::DEFAULT_PARSER を返します。
selfのパーサを返します。未定義であった場合は URI::DEFAULT_PARSER を返します。 -
Prime
:: PseudoPrimeGenerator # each _ with _ index {|prime , index| . . . } -> self (18643.0) -
与えられたブロックに対して、素数を0起点の連番を渡して評価します。
与えられたブロックに対して、素数を0起点の連番を渡して評価します。
@return ブロックを与えられた場合は self を返します。 ブロックを与えられなかった場合は Enumerator を返します。
//emlist[例][ruby]{
require 'prime'
Prime::EratosthenesGenerator.new(10).each_with_index do |prime, index|
p [prime, index]
end
# [2, 0]
# [3, 1]
# [5, 2]
# [7, 3]
//}
@see Enumerator#with_ind... -
Prime
:: PseudoPrimeGenerator # with _ index {|prime , index| . . . } -> self (18643.0) -
与えられたブロックに対して、素数を0起点の連番を渡して評価します。
与えられたブロックに対して、素数を0起点の連番を渡して評価します。
@return ブロックを与えられた場合は self を返します。 ブロックを与えられなかった場合は Enumerator を返します。
//emlist[例][ruby]{
require 'prime'
Prime::EratosthenesGenerator.new(10).each_with_index do |prime, index|
p [prime, index]
end
# [2, 0]
# [3, 1]
# [5, 2]
# [7, 3]
//}
@see Enumerator#with_ind... -
Syslog
. # open(ident= $ 0 , options=Syslog :: LOG _ PID|Syslog :: LOG _ CONS , facility=Syslog :: LOG _ USER) -> self (18643.0) -
与えられた引数でsyslogを開きます。以降、他の Syslog モジュール関数が使 用可能となります。
与えられた引数でsyslogを開きます。以降、他の Syslog モジュール関数が使
用可能となります。
ブロック付きで呼ばれた場合は、self を引数としてブロックを実行し、
最後に Syslog.#close を行います。
syslog の詳細については syslog(3) を参照してください。
@param ident すべてのログにつく識別子で、どのプログラムから送られ
たログなのかを識別するために使われる文字列を指定します。
指定しない場合はプログラム名が使われます。
@param options Syslog.open ... -
Syslog
. # open(ident= $ 0 , options=Syslog :: LOG _ PID|Syslog :: LOG _ CONS , facility=Syslog :: LOG _ USER) { |syslog| . . . } -> self (18643.0) -
与えられた引数でsyslogを開きます。以降、他の Syslog モジュール関数が使 用可能となります。
与えられた引数でsyslogを開きます。以降、他の Syslog モジュール関数が使
用可能となります。
ブロック付きで呼ばれた場合は、self を引数としてブロックを実行し、
最後に Syslog.#close を行います。
syslog の詳細については syslog(3) を参照してください。
@param ident すべてのログにつく識別子で、どのプログラムから送られ
たログなのかを識別するために使われる文字列を指定します。
指定しない場合はプログラム名が使われます。
@param options Syslog.open ... -
Array
# keep _ if {|item| . . . } -> self (18640.0) -
ブロックが真を返した要素を残し、偽を返した要素を自身から削除します。
ブロックが真を返した要素を残し、偽を返した要素を自身から削除します。
//emlist[例][ruby]{
a = %w{ a b c d e f }
a.keep_if {|v| v =~ /[aeiou]/} # => ["a", "e"]
a # => ["a", "e"]
//}
keep_if は常に self を返しますが、Array#select! は要素が 1 つ以上削除されれば self を、
1 つも削除されなければ nil を返します。
//emlist[例][ruby]{
a = %w{ a b c d e f }
a.keep_if {|v| v =~ /... -
CSV
:: Table # push(*rows) -> self (18640.0) -
複数の行を追加するためのショートカットです。
複数の行を追加するためのショートカットです。
以下と同じです。
//emlist[][ruby]{
rows.each {|row| self << row }
//}
@param rows CSV::Row のインスタンスか配列を指定します。
//emlist[例][ruby]{
require 'csv'
csv = CSV.new("a,b,c\n1,2,3", headers: true)
table = csv.read
rows = [
CSV::Row.new(table.headers, [4, 5, 6]),
[7, 8, 9]
]
table.push(... -
Module
# private(*name) -> self (18640.0) -
メソッドを private に設定します。
メソッドを private に設定します。
引数なしのときは今後このクラスまたはモジュール定義内で新規に定義さ
れるメソッドを関数形式でだけ呼び出せるように(private)設定します。
引数が与えられた時には引数によって指定されたメソッドを private に
設定します。
可視性については d:spec/def#limit を参照して下さい。
@param name 0 個以上の String または Symbol を指定します。
@raise NameError 存在しないメソッド名を指定した場合に発生します。
//emlist[例][ruby]{
class Foo
... -
Range
# step(s = 1) {|item| . . . } -> self (18640.0) -
範囲内の要素を s おきに繰り返します。
範囲内の要素を s おきに繰り返します。
@param s 正の整数を指定します。
@return ブロックつきの時は self を返します。
@return ブロックなしの時は Enumerator を返します。
@raise ArgumentError s に 0 または負の数を指定した場合に発生します
//emlist[例][ruby]{
("a" .. "f").step(2) {|v| p v}
# => "a"
# "c"
# "e"
//} -
Set
# replace(enum) -> self (18640.0) -
集合の要素をすべて削除し、enum で与えられた要素に置き換えます。
集合の要素をすべて削除し、enum で与えられた要素に置き換えます。
引数 enum には each メソッドが定義されている必要があります。
@param enum 置き換え後の集合要素を格納するオブジェクトを指定します。
@raise ArgumentError 引数 enum に each メソッドが定義されていない場合に
発生します。
//emlist[][ruby]{
require 'set'
p s = Set[10, 20, 30] # => #<Set: {10, 20, 30}>
s.replace([15, 25])
p s # => #<Set: ... -
String
# swapcase!(*options) -> self | nil (18640.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... -
Array
# permutation(n = self . length) -> Enumerator (18631.0) -
サイズ n の順列をすべて生成し,それを引数としてブロックを実行します。
サイズ n の順列をすべて生成し,それを引数としてブロックを実行します。
引数を省略した場合は配列の要素数と同じサイズの順列に対してブロックを実
行します。
得られる順列の順序は保証されません。ブロックなしで呼び出されると, 順列
を生成する Enumerator オブジェクトを返します。
@param n 生成する配列のサイズを整数で指定します。
整数以外のオブジェクトを指定した場合は to_int メソッドによる暗
黙の型変換を試みます。
@raise TypeError 引数に整数以外の(暗黙の型変換が行えない)オブジェクトを
... -
IO
# reopen(path) -> self (18628.0) -
path で指定されたファイルにストリームを繋ぎ換えます。
path で指定されたファイルにストリームを繋ぎ換えます。
第二引数を省略したとき self のモードをそのまま引き継ぎます。
IO#pos, IO#lineno などはリセットされます。
@param path パスを表す文字列を指定します。
@param mode パスを開く際のモードを文字列で指定します。
@raise Errno::EXXX 失敗した場合に発生します。
//emlist[例][ruby]{
IO.write("testfile", "This is line one\nThis is line two\n")
f1 = File.new("testfile"... -
IO
# reopen(path , mode) -> self (18628.0) -
path で指定されたファイルにストリームを繋ぎ換えます。
path で指定されたファイルにストリームを繋ぎ換えます。
第二引数を省略したとき self のモードをそのまま引き継ぎます。
IO#pos, IO#lineno などはリセットされます。
@param path パスを表す文字列を指定します。
@param mode パスを開く際のモードを文字列で指定します。
@raise Errno::EXXX 失敗した場合に発生します。
//emlist[例][ruby]{
IO.write("testfile", "This is line one\nThis is line two\n")
f1 = File.new("testfile"... -
Array
# product(*lists) { |e| . . . } -> self (18622.0) -
レシーバの配列と引数で与えられた配列(複数可)のそれぞれから要素を1 個ずつとって配列とし,それらのすべての配列を要素とする配列を返します。
レシーバの配列と引数で与えられた配列(複数可)のそれぞれから要素を1
個ずつとって配列とし,それらのすべての配列を要素とする配列を返します。
返される配列の長さは,レシーバと引数で与えられた配列の長さのすべての積にな
ります。
@param lists 配列。複数指定可能。
//emlist[例][ruby]{
[1,2,3].product([4,5]) # => [[1,4],[1,5],[2,4],[2,5],[3,4],[3,5]]
[1,2].product([1,2]) # => [[1,1],[1,2],[2,1],[2,2]]
[1,2].prod...