別のキーワード
クラス
-
ARGF
. class (18) - Array (176)
- BasicObject (14)
- Binding (4)
- Class (8)
- Complex (35)
- Data (12)
- Dir (48)
- Encoding (7)
-
Encoding
:: Converter (21) -
Encoding
:: InvalidByteSequenceError (1) - Enumerator (16)
-
Enumerator
:: Lazy (29) - Exception (9)
- FalseClass (3)
- Fiber (6)
- File (49)
-
File
:: Stat (8) - Float (31)
- FrozenError (3)
- Hash (98)
- IO (65)
- Integer (62)
- KeyError (4)
- MatchData (20)
- Method (16)
- Module (84)
- NilClass (6)
- Numeric (43)
- Object (57)
-
ObjectSpace
:: WeakMap (1) - Proc (11)
- Random (12)
- Range (38)
- Rational (25)
- Regexp (16)
- RubyVM (1)
-
RubyVM
:: AbstractSyntaxTree :: Node (2) -
RubyVM
:: InstructionSequence (18) - Set (36)
- SignalException (3)
- String (167)
- Struct (18)
- Symbol (8)
- SystemCallError (1)
- Thread (24)
-
Thread
:: Backtrace :: Location (6) -
Thread
:: ConditionVariable (2) -
Thread
:: Mutex (2) -
Thread
:: Queue (5) -
Thread
:: SizedQueue (5) - ThreadGroup (1)
- Time (33)
- TracePoint (18)
- TrueClass (3)
- UnboundMethod (9)
モジュール
- Comparable (8)
- Enumerable (114)
- FileTest (14)
- GC (9)
-
GC
:: Profiler (3) - Kernel (108)
- Marshal (4)
- Math (21)
- ObjectSpace (10)
- Process (8)
-
RubyVM
:: AbstractSyntaxTree (6) -
RubyVM
:: MJIT (3) - Signal (2)
- Warning (1)
キーワード
- ! (1)
- != (1)
- !~ (1)
-
$ -0 (1) -
$ -F (1) -
$ -I (1) -
$ -K (1) -
$ -v (1) -
$ -w (1) -
$ / (1) -
$ : (1) -
$ ; (1) -
$ > (1) -
$ KCODE (1) -
$ LOAD _ PATH (1) -
$ VERBOSE (1) -
$ _ (1) -
$ stdout (1) - % (6)
- & (6)
- * (7)
- ** (4)
- + (9)
- +@ (2)
- - (8)
- -@ (5)
-
/ (4) - < (5)
- << (6)
- <= (5)
- <=> (11)
- == (20)
- === (11)
- =~ (3)
- > (5)
- >= (5)
- >> (3)
- Array (1)
- BasicObject (1)
-
CESU
_ 8 (1) - Complex (3)
- ConditionVariable (1)
- DEBUG (1)
- DEBUG= (1)
- Encoding (1)
- Float (1)
- GC (1)
- Hash (1)
-
INSTRUCTION
_ NAMES (1) - Integer (1)
- Location (1)
- Method (1)
- Rational (1)
- String (1)
- Thread (1)
- [] (30)
- []= (14)
- ^ (5)
-
_ _ callee _ _ (1) -
_ _ id _ _ (1) -
_ _ send _ _ (2) -
_ dump (1) -
_ id2ref (1) -
_ load (1) - ` (1)
- abort (2)
-
abort
_ on _ exception (2) -
abort
_ on _ exception= (2) - abs (1)
- abs2 (1)
-
absolute
_ path (3) -
absolute
_ path? (1) - acos (1)
- add (2)
- add? (1)
-
add
_ trace _ func (1) - advise (1)
-
alias
_ method (1) - all? (6)
- allbits? (1)
- allocate (1)
- ancestors (1)
- angle (2)
- any? (6)
- anybits? (1)
- append (1)
-
append
_ features (1) - arg (2)
- argv0 (1)
-
asciicompat
_ encoding (2) - asin (1)
- assoc (2)
- at (7)
-
at
_ exit (1) - atan (1)
- atan2 (1)
- atime (3)
- attr (3)
-
attr
_ accessor (1) -
attr
_ reader (1) -
attr
_ writer (1) - autoclose? (1)
- autoload (2)
- autoload? (2)
- backtrace (1)
-
backtrace
_ locations (3) -
base
_ label (2) - basename (1)
- begin (2)
- between? (1)
- bind (1)
-
bind
_ call (2) - binding (1)
- binmode (2)
- binread (1)
- binwrite (1)
- birthtime (2)
-
bit
_ length (1) - broadcast (1)
- bsearch (4)
-
bsearch
_ index (2) - byteindex (1)
- byteoffset (2)
- byterindex (1)
- bytes (4)
- bytesize (1)
- byteslice (3)
- call (3)
-
callee
_ id (1) - caller (3)
-
caller
_ locations (2) - capitalize (1)
- capitalize! (1)
- captures (1)
- casecmp (2)
- casecmp? (2)
- catch (2)
- cbrt (1)
- ceil (5)
- ceildiv (1)
- center (1)
- chain (1)
- chars (2)
- chdir (4)
- children (4)
- chmod (1)
- chomp (2)
- chomp! (1)
- chop (2)
- chop! (1)
- chown (2)
- chr (3)
- chroot (1)
- chunk (3)
-
chunk
_ while (1) - clamp (2)
- class (1)
-
class
_ eval (2) -
class
_ exec (1) -
class
_ variable _ defined? (1) -
class
_ variable _ get (1) -
class
_ variable _ set (1) -
class
_ variables (1) - clone (5)
- close (3)
-
close
_ read (1) -
close
_ write (1) - closed? (2)
- codepoints (2)
- coerce (3)
- collect (5)
- collect! (3)
-
collect
_ concat (1) - combination (2)
- compact (2)
- compact! (1)
-
compare
_ by _ identity (1) -
compare
_ by _ identity? (1) - compatible? (1)
- compile (2)
-
compile
_ file (1) -
compile
_ option (1) -
compile
_ option= (1) - concat (4)
- conj (1)
- conjugate (1)
-
const
_ defined? (1) -
const
_ get (1) -
const
_ missing (1) -
const
_ set (1) -
const
_ source _ location (1) - constants (2)
- convert (1)
- convpath (1)
-
copy
_ stream (2) - cos (1)
- count (7)
-
count
_ objects (1) - cover? (2)
- crypt (1)
- ctime (3)
- curry (4)
- cycle (4)
- deconstruct (3)
-
deconstruct
_ keys (4) - dedup (1)
- default (2)
- default= (1)
-
default
_ external (1) -
default
_ external= (1) -
default
_ internal= (1) -
default
_ proc (1) -
default
_ proc= (1) - define (2)
-
define
_ finalizer (2) -
define
_ method (2) -
define
_ singleton _ method (2) -
defined
_ class (1) - delete (10)
- delete! (1)
- delete? (1)
-
delete
_ at (1) -
delete
_ if (5) -
delete
_ prefix (1) -
delete
_ prefix! (1) -
delete
_ suffix (1) -
delete
_ suffix! (1) - denominator (4)
-
deprecate
_ constant (1) - deq (2)
-
destination
_ encoding (1) - detect (2)
- difference (2)
- dig (3)
- digits (2)
- directory? (1)
- dirname (1)
- disable (3)
- disasm (2)
- disassemble (2)
- disjoint? (1)
- display (1)
- div (2)
- divmod (2)
- downcase (1)
- downcase! (1)
- downto (2)
- drop (3)
-
drop
_ while (3) - dump (3)
- dup (4)
- each (18)
-
each
_ byte (4) -
each
_ char (4) -
each
_ child (6) -
each
_ codepoint (2) -
each
_ cons (2) -
each
_ entry (2) -
each
_ grapheme _ cluster (2) -
each
_ index (2) -
each
_ key (2) -
each
_ line (8) -
each
_ object (4) -
each
_ pair (2) -
each
_ slice (2) -
each
_ value (2) -
each
_ with _ index (2) -
each
_ with _ object (2) - empty? (2)
- enable (3)
- enabled? (1)
- encode (3)
- encode! (2)
- encoding (1)
- end (2)
-
end
_ with? (2) - entries (4)
-
enum
_ for (2) - eof (1)
- eof? (1)
- eql? (14)
- equal? (3)
- erf (1)
- erfc (1)
-
error
_ bytes (1) - escape (1)
- eval (3)
-
eval
_ script (1) - event (1)
- except (2)
- exception (3)
- exec (4)
-
executable
_ real? (1) - exist? (1)
- exit (1)
- exit! (1)
- exp (1)
- extend (1)
-
extend
_ object (1) - extended (1)
- extname (1)
- fail (3)
- fcntl (1)
- fdatasync (1)
- fdiv (3)
- feed (1)
- fetch (7)
-
fetch
_ values (2) - fileno (2)
- fill (6)
- filter (9)
- filter! (4)
-
filter
_ map (3) - find (3)
-
find
_ all (3) -
find
_ index (6) - finish (1)
- finite? (2)
- first (6)
-
flat
_ map (1) - flatten (3)
- flatten! (2)
- flock (1)
- floor (5)
- flush (1)
- fnmatch (1)
- fnmatch? (1)
-
for
_ fd (1) -
force
_ encoding (1) - foreach (6)
- fork (2)
- format (1)
- freeze (2)
- frexp (1)
- frozen? (1)
- ftype (1)
- gamma (1)
-
garbage
_ collect (2) - gcd (1)
- gcdlcm (1)
- getbyte (2)
- getc (1)
- getlocal (2)
- gets (4)
- getwd (1)
- glob (2)
-
global
_ variables (1) - gm (2)
-
grapheme
_ clusters (2) - grep (3)
-
grep
_ v (3) - groups (1)
- grpowned? (1)
- gsub (7)
- gsub! (4)
-
has
_ key? (1) -
has
_ value? (1) - hash (3)
- hex (1)
- home (2)
- hypot (1)
- identical? (1)
-
ignore
_ deadlock= (1) - imag (2)
- imaginary (2)
- include (2)
- include? (7)
- included (1)
-
included
_ modules (1) - index (4)
- infinite? (2)
- inherited (1)
- initialize (1)
-
initialize
_ copy (1) - inject (3)
-
inplace
_ mode (1) -
inplace
_ mode= (1) - insert (2)
-
insert
_ output (1) - inspect (13)
-
instance
_ eval (2) -
instance
_ exec (1) -
instance
_ method (1) -
instance
_ methods (1) -
instance
_ of? (1) -
instance
_ variable _ defined? (1) -
instance
_ variable _ get (1) -
instance
_ variable _ set (1) -
instance
_ variables (1) -
instruction
_ sequence (1) - integer? (1)
-
internal
_ encoding (1) - intersection (2)
- invert (1)
-
is
_ a? (1) - isatty (1)
- join (2)
-
keep
_ if (4) - key (1)
- key? (2)
- keys (1)
-
kind
_ of? (1) - label (2)
- lambda (1)
- last (4)
-
last
_ match (2) -
last
_ status (1) -
latest
_ gc _ info (2) - lazy (1)
- lchmod (1)
- lchown (1)
- lcm (1)
- ldexp (1)
- length (1)
- lgamma (1)
- lineno (1)
- lines (2)
- link (1)
- ljust (1)
- load (2)
-
load
_ from _ binary (1) -
load
_ from _ binary _ extra _ data (1) - local (2)
-
local
_ variable _ defined? (1) -
local
_ variable _ get (1) -
local
_ variable _ set (1) -
local
_ variables (1) -
locale
_ charmap (1) - localtime (2)
- log (2)
- log10 (1)
- log2 (1)
- loop (2)
- lstat (2)
- lstrip (1)
- magnitude (1)
- map (5)
- map! (3)
-
marshal
_ dump (1) -
marshal
_ load (2) - match (4)
- match? (3)
- max (12)
- max= (1)
-
max
_ by (4) - member? (4)
- merge (3)
- merge! (2)
- method (1)
-
method
_ added (1) -
method
_ defined? (1) -
method
_ id (1) -
method
_ missing (1) -
method
_ removed (1) -
method
_ undefined (1) - methods (1)
- min (12)
-
min
_ by (4) - minmax (4)
-
minmax
_ by (2) - mkdir (1)
- mkfifo (1)
- mktime (2)
-
module
_ eval (2) -
module
_ exec (1) -
module
_ function (3) - modulo (3)
- mtime (3)
- name (2)
- name= (1)
-
named
_ captures (1) - negative? (3)
- new (50)
- next (2)
- next! (1)
-
next
_ float (1) -
next
_ values (1) - nobits? (1)
- none? (6)
- nonzero? (1)
- now (1)
- numerator (4)
-
object
_ id (1) - oct (1)
- of (3)
- offset (2)
- one? (6)
- open (10)
- ord (2)
-
original
_ name (2) - overlap? (1)
- owned? (1)
- p (1)
- pack (2)
- parameters (3)
- parse (2)
-
parse
_ file (2) - partition (1)
- path (5)
- pause (1)
- peek (1)
-
peek
_ values (1) - permutation (2)
- phase (2)
- pid (1)
- polar (3)
- pop (4)
- pos (2)
- pos= (2)
- positive? (3)
-
post
_ match (1) - pow (2)
- pp (1)
-
pre
_ match (1) - pread (1)
- pred (1)
- prepend (4)
-
prepend
_ features (1) - prepended (1)
-
prev
_ float (1) -
primitive
_ convert (4) -
primitive
_ errinfo (1) - print (2)
- printf (2)
- priority (1)
- priority= (1)
- private (4)
-
private
_ class _ method (2) -
private
_ constant (1) -
private
_ instance _ methods (1) -
private
_ method _ defined? (1) - proc (1)
- produce (1)
- product (2)
-
proper
_ subset? (1) -
proper
_ superset? (1) -
protected
_ method _ defined? (1) - public (4)
-
public
_ class _ method (2) -
public
_ constant (1) -
public
_ instance _ method (1) -
public
_ method (1) -
public
_ method _ defined? (1) -
public
_ send (2) - push (1)
- putback (2)
- putc (2)
- puts (1)
- pwd (1)
- pwrite (1)
- quo (3)
- quote (1)
- raise (6)
-
raised
_ exception (1) - rand (8)
- rassoc (2)
- rationalize (9)
-
raw
_ data (1) - read (2)
- readable? (1)
- readbyte (2)
- readchar (1)
- readline (1)
- readlines (7)
- readlink (1)
- real (1)
- real? (2)
- realpath (1)
- receiver (1)
- rect (3)
- rectangular (3)
- reduce (3)
- refine (1)
- rehash (1)
- reject (7)
- reject! (5)
- remainder (2)
-
remove
_ class _ variable (1) -
remove
_ const (1) -
remove
_ instance _ variable (1) -
remove
_ method (1) - rename (1)
- reopen (3)
-
repeated
_ combination (2) -
repeated
_ permutation (2) - replace (3)
- replacement (1)
- replacement= (1)
- report (1)
-
report
_ on _ exception (1) -
report
_ on _ exception= (1) - require (1)
-
require
_ relative (1) -
respond
_ to? (1) -
respond
_ to _ missing? (1) - restore (1)
- result (1)
- resume (2)
-
return
_ value (1) -
reverse
_ each (4) - rewind (2)
- rindex (4)
- rjust (1)
- rmdir (1)
- rotate (1)
- rotate! (1)
- round (6)
- rpartition (1)
- rstrip (1)
- rstrip! (1)
-
ruby2
_ keywords _ hash? (1) - run (1)
- sample (4)
- scan (2)
- scrub (3)
- scrub! (3)
-
search
_ convpath (1) - seek (1)
- select (9)
- select! (4)
- self (1)
- send (2)
-
set
_ backtrace (1) -
set
_ trace _ func (2) - setbyte (1)
- setgid? (1)
- setproctitle (1)
- setuid? (1)
- shift (5)
- shuffle (2)
- shuffle! (2)
- signal (1)
- sin (1)
-
singleton
_ class (1) -
singleton
_ method (1) -
singleton
_ method _ added (1) -
singleton
_ method _ removed (1) -
singleton
_ method _ undefined (1) -
singleton
_ methods (1) - size (4)
- size? (1)
- sleep (3)
- slice (11)
- slice! (3)
-
slice
_ after (4) -
slice
_ before (5) -
slice
_ when (2) - socket? (1)
- sort (4)
- sort! (2)
-
sort
_ by (2) -
sort
_ by! (2) -
source
_ encoding (1) -
source
_ location (3) - spawn (4)
- split (3)
- sprintf (1)
- sqrt (2)
- squeeze (1)
- squeeze! (1)
- srand (2)
- start (1)
-
start
_ with? (2) - stat (4)
- step (12)
- sticky? (1)
- stop (1)
- stop? (1)
- store (2)
- stress= (1)
- strftime (1)
- strip (1)
- strip! (1)
- sub (5)
- sub! (3)
- subclasses (1)
- subset? (1)
- subtract (1)
- succ (1)
- succ! (1)
- sum (5)
-
super
_ method (1) - superclass (1)
- superset? (1)
- swapcase (1)
- swapcase! (1)
- symlink (1)
- symlink? (2)
- sync (1)
- synchronize (1)
- syscall (1)
- sysopen (1)
- system (4)
- syswrite (1)
- take (3)
-
take
_ while (6) - tally (2)
- tan (1)
- tap (1)
- tell (2)
- test (2)
- then (2)
-
thread
_ variable _ set (1) - throw (1)
- times (2)
-
to
_ a (7) -
to
_ ary (2) -
to
_ binary (1) -
to
_ c (1) -
to
_ enum (2) -
to
_ f (3) -
to
_ h (4) -
to
_ hash (1) -
to
_ i (5) -
to
_ int (1) -
to
_ path (1) -
to
_ proc (1) -
to
_ r (3) -
to
_ s (10) -
to
_ set (2) -
to
_ str (1) - tr (1)
-
tr
_ s (1) -
tr
_ s! (1) - trace (1)
-
trace
_ var (3) - transfer (1)
-
transform
_ keys (3) -
transform
_ keys! (3) -
transform
_ values (2) -
transform
_ values! (2) - trap (2)
- truncate (6)
-
try
_ convert (2) - tty? (1)
- umask (2)
-
undef
_ method (1) -
undefine
_ finalizer (1) - undump (1)
-
unicode
_ normalize (1) -
unicode
_ normalize! (1) -
unicode
_ normalized? (1) - union (3)
- uniq (2)
- unlink (2)
- unpack (1)
- unpack1 (1)
- unshift (1)
-
untrace
_ var (1) - upcase (1)
- upcase! (1)
- update (2)
- upto (3)
- urandom (1)
- using (2)
- utc (2)
- utime (1)
- value? (1)
- values (2)
-
values
_ at (4) - wait (1)
- wait2 (1)
- waitpid (1)
- waitpid2 (1)
- wakeup (1)
- warn (2)
- with (1)
-
with
_ index (2) -
with
_ object (2) -
world
_ readable? (1) -
world
_ writable? (1) - writable? (1)
- write (3)
- yield (2)
-
yield
_ self (2) - zero? (2)
- zip (6)
- | (6)
検索結果
先頭5件
- Hash
. ruby2 _ keywords _ hash?(hash) -> bool - RubyVM
:: AbstractSyntaxTree . parse(string) -> RubyVM :: AbstractSyntaxTree :: Node - RubyVM
:: AbstractSyntaxTree . parse(string , keep _ script _ lines: false , error _ tolerant: false , keep _ tokens: false) -> RubyVM :: AbstractSyntaxTree :: Node - RubyVM
:: AbstractSyntaxTree . parse _ file(pathname) -> RubyVM :: AbstractSyntaxTree :: Node - RubyVM
:: AbstractSyntaxTree . parse _ file(pathname , keep _ script _ lines: false , error _ tolerant: false , keep _ tokens: false) -> RubyVM :: AbstractSyntaxTree :: Node
-
Hash
. ruby2 _ keywords _ hash?(hash) -> bool (37171.0) -
Module#ruby2_keywordsやProc#ruby2_keywordsによる ruby2_keywords フラグが設定されているかどうかを返します。
Module#ruby2_keywordsやProc#ruby2_keywordsによる
ruby2_keywords フラグが設定されているかどうかを返します。
このメソッドはデバッグや調査、シリアライゼーションのために本当に必要な場合のために
用意されていて、普通のプログラムで使うことは想定されていません。
ruby 2.7.1 で追加されたため、ruby 2.7.0 では定義されていません。
//emlist[][ruby]{
ruby2_keywords def foo(*args)
Hash.ruby2_keywords_hash?(args.last)
end
foo(... -
RubyVM
:: AbstractSyntaxTree . parse(string) -> RubyVM :: AbstractSyntaxTree :: Node (19039.0) -
文字列を抽象構文木にパースし、その木の根ノードを返します。
文字列を抽象構文木にパースし、その木の根ノードを返します。
@param string パースする対象の Ruby のコードを文字列で指定します。
@param keep_script_lines true を指定すると、 Node#script_lines でノードと関連づけられたソースコードのテキストを取得できます。
@param keep_tokens true を指定すると、 Node#token が利用できます。
@param error_tolerant true を指定すると、構文エラーが発生した際にエラー箇所を type が :ERROR であるようなノードに置き換えてツリ... -
RubyVM
:: AbstractSyntaxTree . parse(string , keep _ script _ lines: false , error _ tolerant: false , keep _ tokens: false) -> RubyVM :: AbstractSyntaxTree :: Node (19039.0) -
文字列を抽象構文木にパースし、その木の根ノードを返します。
文字列を抽象構文木にパースし、その木の根ノードを返します。
@param string パースする対象の Ruby のコードを文字列で指定します。
@param keep_script_lines true を指定すると、 Node#script_lines でノードと関連づけられたソースコードのテキストを取得できます。
@param keep_tokens true を指定すると、 Node#token が利用できます。
@param error_tolerant true を指定すると、構文エラーが発生した際にエラー箇所を type が :ERROR であるようなノードに置き換えてツリ... -
RubyVM
:: AbstractSyntaxTree . parse _ file(pathname) -> RubyVM :: AbstractSyntaxTree :: Node (18913.0) -
pathname のファイルを読み込み、その内容を抽象構文木にパースし、その木の根ノードを返します。
pathname のファイルを読み込み、その内容を抽象構文木にパースし、その木の根ノードを返します。
@param pathname パースする対象のファイルパスを指定します
@param keep_script_lines true を指定すると、 Node#script_lines でノードと関連づけられたソースコードのテキストを取得できます。
@param keep_tokens true を指定すると、 Node#token が利用できます。
@param error_tolerant true を指定すると、構文エラーが発生した際にエラー箇所を type が :ERROR である... -
RubyVM
:: AbstractSyntaxTree . parse _ file(pathname , keep _ script _ lines: false , error _ tolerant: false , keep _ tokens: false) -> RubyVM :: AbstractSyntaxTree :: Node (18913.0) -
pathname のファイルを読み込み、その内容を抽象構文木にパースし、その木の根ノードを返します。
pathname のファイルを読み込み、その内容を抽象構文木にパースし、その木の根ノードを返します。
@param pathname パースする対象のファイルパスを指定します
@param keep_script_lines true を指定すると、 Node#script_lines でノードと関連づけられたソースコードのテキストを取得できます。
@param keep_tokens true を指定すると、 Node#token が利用できます。
@param error_tolerant true を指定すると、構文エラーが発生した際にエラー箇所を type が :ERROR である... -
RubyVM
:: AbstractSyntaxTree . of(proc) -> RubyVM :: AbstractSyntaxTree :: Node (18895.0) -
引数 proc に渡したProcやメソッドオブジェクトの抽象構文木を返します。
引数 proc に渡したProcやメソッドオブジェクトの抽象構文木を返します。
このメソッドはProcやメソッドが定義されたファイルを読み込む必要があるため、
irbのようなファイルを介さない対話的環境では動作しません。
@param proc Procもしくはメソッドオブジェクトを指定します。
@param keep_script_lines true を指定すると、 Node#script_lines でノードと関連づけられたソースコードのテキストを取得できます。
@param keep_tokens true を指定すると、 Node#token が利用できます。
@param e... -
RubyVM
:: AbstractSyntaxTree . of(proc , keep _ script _ lines: false , error _ tolerant: false , keep _ tokens: false) -> RubyVM :: AbstractSyntaxTree :: Node (18895.0) -
引数 proc に渡したProcやメソッドオブジェクトの抽象構文木を返します。
引数 proc に渡したProcやメソッドオブジェクトの抽象構文木を返します。
このメソッドはProcやメソッドが定義されたファイルを読み込む必要があるため、
irbのようなファイルを介さない対話的環境では動作しません。
@param proc Procもしくはメソッドオブジェクトを指定します。
@param keep_script_lines true を指定すると、 Node#script_lines でノードと関連づけられたソースコードのテキストを取得できます。
@param keep_tokens true を指定すると、 Node#token が利用できます。
@param e... -
RubyVM
:: InstructionSequence . compile(source , file = nil , path = nil , line = 1 , options = nil) -> RubyVM :: InstructionSequence (18847.0) -
引数 source で指定した Ruby のソースコードを元にコンパイル済みの RubyVM::InstructionSequence オブジェクトを作成して返します。
引数 source で指定した Ruby のソースコードを元にコンパイル済みの
RubyVM::InstructionSequence オブジェクトを作成して返します。
@param source Ruby のソースコードを文字列で指定します。
@param file ファイル名を文字列で指定します。
@param path 引数 file の絶対パスファイル名を文字列で指定します。
@param line 引数 source の 1 行目の行番号を指定します。
@param options コンパイル時のオプションを true、false、Hash オブ
... -
RubyVM
:: InstructionSequence . new(source , file = nil , path = nil , line = 1 , options = nil) -> RubyVM :: InstructionSequence (18847.0) -
引数 source で指定した Ruby のソースコードを元にコンパイル済みの RubyVM::InstructionSequence オブジェクトを作成して返します。
引数 source で指定した Ruby のソースコードを元にコンパイル済みの
RubyVM::InstructionSequence オブジェクトを作成して返します。
@param source Ruby のソースコードを文字列で指定します。
@param file ファイル名を文字列で指定します。
@param path 引数 file の絶対パスファイル名を文字列で指定します。
@param line 引数 source の 1 行目の行番号を指定します。
@param options コンパイル時のオプションを true、false、Hash オブ
... -
RubyVM
:: InstructionSequence . compile _ file(file , options = nil) -> RubyVM :: InstructionSequence (18757.0) -
引数 file で指定した Ruby のソースコードを元にコンパイル済みの RubyVM::InstructionSequence オブジェクトを作成して返します。
引数 file で指定した Ruby のソースコードを元にコンパイル済みの
RubyVM::InstructionSequence オブジェクトを作成して返します。
RubyVM::InstructionSequence.compile とは異なり、file、path などの
メタデータは自動的に取得します。
@param file ファイル名を文字列で指定します。
@param options コンパイル時のオプションを true、false、Hash オブ
ジェクトのいずれかで指定します。詳細は
RubyVM::Instr... -
RubyVM
:: InstructionSequence . load _ from _ binary(binary) -> RubyVM :: InstructionSequence (18661.0) -
RubyVM::InstructionSequence#to_binaryにより作られたバイナリフォーマットの文字列からiseqのオブジェクトをロードします。
RubyVM::InstructionSequence#to_binaryにより作られたバイナリフォーマットの文字列からiseqのオブジェクトをロードします。
このローダーは検証機構をもっておらず、壊れたり改変されたバイナリを読み込むと深刻な問題を引き起こします。
他者により提供されたバイナリデータはロードすべきではありません。自分が変換したバイナリデータを使うべきです。
//emlist[例][ruby]{
iseq = RubyVM::InstructionSequence.compile('num = 1 + 2')
binary = iseq.to_binary
RubyVM:... -
RubyVM
:: InstructionSequence . of(body) -> RubyVM :: InstructionSequence (18625.0) -
引数 body で指定した Proc、Method オブジェクトを元に RubyVM::InstructionSequence オブジェクトを作成して返します。
引数 body で指定した Proc、Method オブジェクトを元に
RubyVM::InstructionSequence オブジェクトを作成して返します。
@param body Proc、Method オブジェクトを指定します。
例1:irb で実行した場合
# proc
> p = proc { num = 1 + 2 }
> RubyVM::InstructionSequence.of(p)
> # => <RubyVM::InstructionSequence:block in irb_binding@(irb)>
# method
> def ... -
String
# +@ -> String | self (18361.0) -
self が freeze されている文字列の場合、元の文字列の複製を返します。 freeze されていない場合は self を返します。
self が freeze されている文字列の場合、元の文字列の複製を返します。
freeze されていない場合は self を返します。
//emlist[例][ruby]{
# frozen_string_literal: false
original_text = "text"
unfrozen_text = +original_text
unfrozen_text.frozen? # => false
original_text == unfrozen_text # => true
original_text.equal?(unfro... -
String
# -@ -> String | self (18361.0) -
self が freeze されている文字列の場合、self を返します。 freeze されていない場合は元の文字列の freeze された (できる限り既存の) 複製を返します。
self が freeze されている文字列の場合、self を返します。
freeze されていない場合は元の文字列の freeze された (できる限り既存の) 複製を返します。
//emlist[例][ruby]{
# frozen_string_literal: false
original_text = "text"
frozen_text = -original_text
frozen_text.frozen? # => true
original_text == frozen_text # => true
original_te... -
Complex
# -@ -> Complex (18343.0) -
自身の符号を反転させたものを返します。
自身の符号を反転させたものを返します。
//emlist[例][ruby]{
-Complex(1) # => (-1+0i)
-Complex(-1, 1) # => (1-1i)
//} -
Float
# -@ -> Float (18343.0) -
単項演算子の - です。 self の符号を反転させたものを返します。
単項演算子の - です。
self の符号を反転させたものを返します。
//emlist[例][ruby]{
- 1.2 # => -1.2
- -1.2 # => 1.2
//} -
Integer
# -@ -> Integer (18343.0) -
単項演算子の - です。 self の符号を反転させたものを返します。
単項演算子の - です。
self の符号を反転させたものを返します。
//emlist[][ruby]{
- 10 # => -10
- -10 # => 10
//} -
Numeric
# +@ -> self (18343.0) -
単項演算子の + です。 self を返します。
単項演算子の + です。
self を返します。
//emlist[例][ruby]{
+ 10 # => 10
+ (-10) # => -10
+ 0.1 # => 0.1
+ (3r) # => (3/1)
+ (1+3i) # => (1+3i)
//} -
Rational
# -@ -> Rational (18343.0) -
単項演算子の - です。 self の符号を反転させたものを返します。
単項演算子の - です。
self の符号を反転させたものを返します。
//emlist[例][ruby]{
r = Rational(3, 4)
- r # => (-3/4)
//} -
RubyVM
:: InstructionSequence # to _ binary(extra _ data = nil) -> String (18115.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 で得たバイナリデータは他のマシンに移動できません。他... -
RubyVM
:: MJIT . pause(wait: true) -> bool (18079.0) -
MJIT を一時停止します。
MJIT を一時停止します。
@param wait 真のときは JIT キューが空になるまで待ちます。
@return 停止したときは true を、すでに停止していたときは false を返します。
@raise RuntimeError JIT が有効ではないときに発生します。
@see RubyVM::MJIT.enabled?, RubyVM::MJIT.resume -
RubyVM
:: MJIT . resume -> bool (18079.0) -
RubyVM::MJIT.pause で一時停止した JIT を再開します。
RubyVM::MJIT.pause で一時停止した JIT を再開します。
@return 再開したときは true を、すでに動いているときは false を返します。
@raise RuntimeError JIT が有効ではないときに発生します。
@raise RuntimeError JIT の再開に失敗した時に発生します。
@see RubyVM::MJIT.enabled?, RubyVM::MJIT.pause -
RubyVM
:: AbstractSyntaxTree :: Node # children -> Array (18061.0) -
self の子ノードを配列で返します。
self の子ノードを配列で返します。
どのような子ノードが返ってくるかは、そのノードの type によって異なります。
戻り値は、ほかの RubyVM::AbstractSyntaxTree::Node のインスタンスや nil を含みます。
//emlist[][ruby]{
node = RubyVM::AbstractSyntaxTree.parse('1 + 2')
p node.children
# => [[], nil, #<RubyVM::AbstractSyntaxTree::Node:OPCALL@1:0-1:5>]
//} -
RubyVM
:: AbstractSyntaxTree :: Node # inspect -> String (18061.0) -
self のデバッグ用の情報を含んだ文字列を返します。
self のデバッグ用の情報を含んだ文字列を返します。
//emlist[][ruby]{
node = RubyVM::AbstractSyntaxTree.parse('1 + 1')
puts node.inspect
# => #<RubyVM::AbstractSyntaxTree::Node:SCOPE@1:0-1:5>
//} -
RubyVM
:: InstructionSequence # inspect -> String (18061.0) -
self の情報をラベルとパスを含んだ人間に読みやすい文字列にして返します。
self の情報をラベルとパスを含んだ人間に読みやすい文字列にして返します。
//emlist[例][ruby]{
iseq = RubyVM::InstructionSequence.compile('num = 1 + 2')
iseq.inspect # => "<RubyVM::InstructionSequence:<compiled>@<compiled>>"
//}
@see RubyVM::InstructionSequence#label,
RubyVM::InstructionSequence#path -
RubyVM
:: InstructionSequence . compile _ option -> Hash (18061.0) -
命令シーケンスのコンパイル時のデフォルトの最適化オプションを Hash で返 します。
命令シーケンスのコンパイル時のデフォルトの最適化オプションを Hash で返
します。
//emlist[例][ruby]{
require "pp"
pp RubyVM::InstructionSequence.compile_option
# => {:inline_const_cache=>true,
# :peephole_optimization=>true,
# :tailcall_optimization=>false,
# :specialized_instruction=>true,
# :operands_unification=>true,
# :instructi... -
RubyVM
:: InstructionSequence . load _ from _ binary _ extra _ data(binary) -> String (18061.0) -
バイナリフォーマットの文字列から埋め込まれたextra_dataを取り出します。
バイナリフォーマットの文字列から埋め込まれたextra_dataを取り出します。
//emlist[例][ruby]{
iseq = RubyVM::InstructionSequence.compile('num = 1 + 2')
binary = iseq.to_binary("extra_data")
RubyVM::InstructionSequence.load_from_binary_extra_data(binary) # => extra_data
//}
@see RubyVM::InstructionSequence#to_binary -
RubyVM
:: InstructionSequence . compile _ option=(options) (18043.0) -
命令シーケンスのコンパイル時のデフォルトの最適化オプションを引数 options で指定します。
命令シーケンスのコンパイル時のデフォルトの最適化オプションを引数
options で指定します。
@param options コンパイル時の最適化オプションを true、false、nil、
Hash のいずれかで指定します。true を指定した場合は
全てのオプションを有効にします。false を指定した場合は全
てのオプションを無効にします。nil を指定した場合はいずれ
のオプションも変更しません。また、Hash を指定した
場合は以... -
RubyVM
:: InstructionSequence . disasm(body) -> String (18043.0) -
引数 body で指定したオブジェクトから作成した RubyVM::InstructionSequence オブジェクトを人間が読める形式の文字 列に変換して返します。
引数 body で指定したオブジェクトから作成した
RubyVM::InstructionSequence オブジェクトを人間が読める形式の文字
列に変換して返します。
@param body Proc、Method オブジェクトを指定します。
例1:Proc オブジェクトを指定した場合
# /tmp/proc.rb
p = proc { num = 1 + 2 }
puts RubyVM::InstructionSequence.disasm(p)
出力:
== disasm: <RubyVM::InstructionSequence:block in <main... -
RubyVM
:: InstructionSequence . disassemble(body) -> String (18043.0) -
引数 body で指定したオブジェクトから作成した RubyVM::InstructionSequence オブジェクトを人間が読める形式の文字 列に変換して返します。
引数 body で指定したオブジェクトから作成した
RubyVM::InstructionSequence オブジェクトを人間が読める形式の文字
列に変換して返します。
@param body Proc、Method オブジェクトを指定します。
例1:Proc オブジェクトを指定した場合
# /tmp/proc.rb
p = proc { num = 1 + 2 }
puts RubyVM::InstructionSequence.disasm(p)
出力:
== disasm: <RubyVM::InstructionSequence:block in <main... -
RubyVM
:: INSTRUCTION _ NAMES -> [String] (18025.0) -
RubyVM の命令シーケンスの名前の一覧を返します。
RubyVM の命令シーケンスの名前の一覧を返します。
@see RubyVM::InstructionSequence -
RubyVM
:: InstructionSequence # absolute _ path -> String | nil (18025.0) -
self が表す命令シーケンスの絶対パスを返します。
self が表す命令シーケンスの絶対パスを返します。
self を文字列から作成していた場合は nil を返します。
例1:irb で実行した場合
iseq = RubyVM::InstructionSequence.compile('num = 1 + 2')
# => <RubyVM::InstructionSequence:<compiled>@<compiled>>
iseq.absolute_path
# => nil
例2: RubyVM::InstructionSequence.compile_file を使用した場合
# /tmp/method.... -
RubyVM
:: InstructionSequence # base _ label -> String (18025.0) -
self が表す命令シーケンスの基本ラベルを返します。
self が表す命令シーケンスの基本ラベルを返します。
例1:irb で実行した場合
iseq = RubyVM::InstructionSequence.compile('num = 1 + 2')
# => <RubyVM::InstructionSequence:<compiled>@<compiled>>
iseq.base_label
# => "<compiled>"
例2: RubyVM::InstructionSequence.compile_file を使用した場合
# /tmp/method.rb
def hello
puts "h... -
RubyVM
:: InstructionSequence # disasm -> String (18025.0) -
self が表す命令シーケンスを人間が読める形式の文字列に変換して返します。
self が表す命令シーケンスを人間が読める形式の文字列に変換して返します。
puts RubyVM::InstructionSequence.compile('1 + 2').disasm
出力:
== disasm: <RubyVM::InstructionSequence:<compiled>@<compiled>>==========
0000 trace 1 ( 1)
0002 putobject 1
0004 putobje... -
RubyVM
:: InstructionSequence # disassemble -> String (18025.0) -
self が表す命令シーケンスを人間が読める形式の文字列に変換して返します。
self が表す命令シーケンスを人間が読める形式の文字列に変換して返します。
puts RubyVM::InstructionSequence.compile('1 + 2').disasm
出力:
== disasm: <RubyVM::InstructionSequence:<compiled>@<compiled>>==========
0000 trace 1 ( 1)
0002 putobject 1
0004 putobje... -
RubyVM
:: InstructionSequence # label -> String (18025.0) -
self が表す命令シーケンスのラベルを返します。通常、メソッド名、クラス名、 モジュール名などで構成されます。
self が表す命令シーケンスのラベルを返します。通常、メソッド名、クラス名、
モジュール名などで構成されます。
トップレベルでは "<main>" を返します。self を文字列から作成していた場合
は "<compiled>" を返します。
例1:irb で実行した場合
iseq = RubyVM::InstructionSequence.compile('num = 1 + 2')
# => <RubyVM::InstructionSequence:<compiled>@<compiled>>
iseq.label
# => "<compiled>"
例2: R... -
RubyVM
:: InstructionSequence # path -> String (18025.0) -
self が表す命令シーケンスの相対パスを返します。
self が表す命令シーケンスの相対パスを返します。
self の作成時に指定した文字列を返します。self を文字列から作成していた
場合は "<compiled>" を返します。
例1:irb で実行した場合
iseq = RubyVM::InstructionSequence.compile('num = 1 + 2')
# => <RubyVM::InstructionSequence:<compiled>@<compiled>>
iseq.path
# => "<compiled>"
例2: RubyVM::InstructionSequence.compi... -
RubyVM
:: MJIT . enabled? -> bool (18025.0) -
JIT が有効かどうかを返します。
JIT が有効かどうかを返します。
@see RubyVM::MJIT.pause, RubyVM::MJIT.resume -
String
# dedup -> String | self (9061.0) -
self が freeze されている文字列の場合、self を返します。 freeze されていない場合は元の文字列の freeze された (できる限り既存の) 複製を返します。
self が freeze されている文字列の場合、self を返します。
freeze されていない場合は元の文字列の freeze された (できる限り既存の) 複製を返します。
//emlist[例][ruby]{
# frozen_string_literal: false
original_text = "text"
frozen_text = -original_text
frozen_text.frozen? # => true
original_text == frozen_text # => true
original_te... -
Array
# pack(template) -> String (3697.0) -
配列の内容を template で指定された文字列にしたがって、 バイナリとしてパックした文字列を返します。
配列の内容を template で指定された文字列にしたがって、
バイナリとしてパックした文字列を返します。
テンプレートは
型指定文字列とその長さ(省略時は1)を並べたものです。長さと
して * が指定された時は「残りのデータ全て」の長さを
表します。型指定文字は以下で述べる pack テンプレート文字列の通りです。
buffer が指定されていれば、バッファとして使って返値として返します。
もし template の最初にオフセット (@) が指定されていれば、
結果はオフセットの後ろから詰められます。
buffer の元の内容がオフセットより長ければ、
オフセットより後ろの部分は上... -
Array
# pack(template , buffer: String . new) -> String (3697.0) -
配列の内容を template で指定された文字列にしたがって、 バイナリとしてパックした文字列を返します。
配列の内容を template で指定された文字列にしたがって、
バイナリとしてパックした文字列を返します。
テンプレートは
型指定文字列とその長さ(省略時は1)を並べたものです。長さと
して * が指定された時は「残りのデータ全て」の長さを
表します。型指定文字は以下で述べる pack テンプレート文字列の通りです。
buffer が指定されていれば、バッファとして使って返値として返します。
もし template の最初にオフセット (@) が指定されていれば、
結果はオフセットの後ろから詰められます。
buffer の元の内容がオフセットより長ければ、
オフセットより後ろの部分は上... -
String
# unpack(template) -> Array (3661.0) -
Array#pack で生成された文字列を テンプレート文字列 template にしたがってアンパックし、 それらの要素を含む配列を返します。
Array#pack で生成された文字列を
テンプレート文字列 template にしたがってアンパックし、
それらの要素を含む配列を返します。
@param template pack テンプレート文字列
@return オブジェクトの配列
以下にあげるものは、Array#pack、String#unpack、String#unpack1
のテンプレート文字の一覧です。テンプレート文字は後に「長さ」を表す数字
を続けることができます。「長さ」の代わりに`*'とすることで「残り全て」
を表すこともできます。
長さの意味はテンプレート文字により異なりますが大... -
GC (2425.0)
-
GC は Ruby インタプリタの「ゴミ集め(Garbage Collection)」を制御 するモジュールです。
GC は Ruby インタプリタの「ゴミ集め(Garbage Collection)」を制御
するモジュールです。
=== GCのチューニングについて
Ruby 2.1ではRGenGCと呼ばれる新たなGCメカニズムが導入されました。
それにともない、以下の環境変数が導入され、これらを
設定することでGCの動作をチューニングすることができます。
これらの環境変数の効果はRubyの起動時のみ有効です(つまりrubyを動かしている
途中で変更することはできません)。
====[a:tuning_gc] チューニングのための環境変数
* RUBY_GC_HEAP_INIT_SLOTS (de... -
String
# %(args) -> String (1267.0) -
printf と同じ規則に従って args をフォーマットします。
printf と同じ規則に従って args をフォーマットします。
args が配列であれば Kernel.#sprintf(self, *args) と同じです。
それ以外の場合は Kernel.#sprintf(self, args) と同じです。
@param args フォーマットする値、もしくはその配列
@return フォーマットされた文字列
//emlist[例][ruby]{
p "i = %d" % 10 # => "i = 10"
p "i = %x" % 10 # => "i = a"
p "i = %o" % 10... -
Kernel
. # format(format , *arg) -> String (1249.0) -
format 文字列を C 言語の sprintf と同じように解釈し、 引数をフォーマットした文字列を返します。
format 文字列を C 言語の sprintf と同じように解釈し、
引数をフォーマットした文字列を返します。
@param format フォーマット文字列です。
@param arg フォーマットされる引数です。
@see Kernel.#printf,Time#strftime,Date.strptime
=== sprintf フォーマット
Ruby の sprintf フォーマットは基本的に C 言語の sprintf(3)
のものと同じです。ただし、short や long などの C 特有の型に対する修飾子が
ないこと、2進数の指示子(%b, %B)が存在すること、s... -
Kernel
. # sprintf(format , *arg) -> String (1249.0) -
format 文字列を C 言語の sprintf と同じように解釈し、 引数をフォーマットした文字列を返します。
format 文字列を C 言語の sprintf と同じように解釈し、
引数をフォーマットした文字列を返します。
@param format フォーマット文字列です。
@param arg フォーマットされる引数です。
@see Kernel.#printf,Time#strftime,Date.strptime
=== sprintf フォーマット
Ruby の sprintf フォーマットは基本的に C 言語の sprintf(3)
のものと同じです。ただし、short や long などの C 特有の型に対する修飾子が
ないこと、2進数の指示子(%b, %B)が存在すること、s... -
Kernel
$ $ -I -> [String] (985.0) -
Rubyライブラリをロードするときの検索パスです。
Rubyライブラリをロードするときの検索パスです。
Kernel.#load や Kernel.#require
がファイルをロードする時に検索するディレクトリのリストを含む配列です。
起動時にはコマンドラインオプション -I で指定したディレクトリ、
環境変数 RUBYLIB の値、
コンパイル時に指定したデフォルト値
をこの順番で含みます。
以下に典型的な UNIX システム上でのロードパスを示します。
-I で指定したパス
環境変数 RUBYLIB の値
/usr/local/lib/ruby/site_ruby/VERSION サイト固有、バージョン依... -
Kernel
$ $ : -> [String] (985.0) -
Rubyライブラリをロードするときの検索パスです。
Rubyライブラリをロードするときの検索パスです。
Kernel.#load や Kernel.#require
がファイルをロードする時に検索するディレクトリのリストを含む配列です。
起動時にはコマンドラインオプション -I で指定したディレクトリ、
環境変数 RUBYLIB の値、
コンパイル時に指定したデフォルト値
をこの順番で含みます。
以下に典型的な UNIX システム上でのロードパスを示します。
-I で指定したパス
環境変数 RUBYLIB の値
/usr/local/lib/ruby/site_ruby/VERSION サイト固有、バージョン依... -
Kernel
$ $ LOAD _ PATH -> [String] (985.0) -
Rubyライブラリをロードするときの検索パスです。
Rubyライブラリをロードするときの検索パスです。
Kernel.#load や Kernel.#require
がファイルをロードする時に検索するディレクトリのリストを含む配列です。
起動時にはコマンドラインオプション -I で指定したディレクトリ、
環境変数 RUBYLIB の値、
コンパイル時に指定したデフォルト値
をこの順番で含みます。
以下に典型的な UNIX システム上でのロードパスを示します。
-I で指定したパス
環境変数 RUBYLIB の値
/usr/local/lib/ruby/site_ruby/VERSION サイト固有、バージョン依... -
Kernel
. # spawn(env , program , *args , options={}) -> Integer (769.0) -
引数を外部コマンドとして実行しますが、生成した 子プロセスの終了を待ち合わせません。生成した子プロセスのプロセスIDを返します。
引数を外部コマンドとして実行しますが、生成した
子プロセスの終了を待ち合わせません。生成した子プロセスのプロセスIDを返します。
env に Hash を渡すことで、exec(2) で子プロセス内で
ファイルを実行する前に環境変数を変更することができます。
Hash のキーは環境変数名文字列、Hash の値に設定する値とします。
nil とすることで環境変数が削除(unsetenv(3))されます。
//emlist[例][ruby]{
# FOO を BAR にして BAZ を削除する
pid = spawn({"FOO"=>"BAR", "BAZ"=>nil}, command)
//... -
Kernel
. # spawn(program , *args) -> Integer (769.0) -
引数を外部コマンドとして実行しますが、生成した 子プロセスの終了を待ち合わせません。生成した子プロセスのプロセスIDを返します。
引数を外部コマンドとして実行しますが、生成した
子プロセスの終了を待ち合わせません。生成した子プロセスのプロセスIDを返します。
env に Hash を渡すことで、exec(2) で子プロセス内で
ファイルを実行する前に環境変数を変更することができます。
Hash のキーは環境変数名文字列、Hash の値に設定する値とします。
nil とすることで環境変数が削除(unsetenv(3))されます。
//emlist[例][ruby]{
# FOO を BAR にして BAZ を削除する
pid = spawn({"FOO"=>"BAR", "BAZ"=>nil}, command)
//... -
TracePoint
# instruction _ sequence -> RubyVM :: InstructionSequence (661.0) -
script_compiledイベント発生時にコンパイルされた RubyVM::InstructionSequenceインスタンスを返します。
script_compiledイベント発生時にコンパイルされた
RubyVM::InstructionSequenceインスタンスを返します。
//emlist[例][ruby]{
TracePoint.new(:script_compiled) do |tp|
p tp.instruction_sequence # => <RubyVM::InstructionSequence:block in <main>@(eval):1>
end.enable do
eval("puts 'hello'")
end
//}
@raise RuntimeError :script_comp... -
File
. basename(filename , suffix = "") -> String (601.0) -
filename の一番後ろのスラッシュに続く要素を返します。もし、 引数 suffix が与えられて、かつそれが filename の末尾に 一致するなら、それを取り除いたものを返します。
filename の一番後ろのスラッシュに続く要素を返します。もし、
引数 suffix が与えられて、かつそれが filename の末尾に
一致するなら、それを取り除いたものを返します。
//emlist[例][ruby]{
p File.basename("ruby/ruby.c") #=> "ruby.c"
p File.basename("ruby/ruby.c", ".c") #=> "ruby"
p File.basename("ruby/ruby.c", ".*") #=> "ruby"
p File.basename("ruby/ruby.e... -
String
# split(sep = $ ; , limit = 0) -> [String] (403.0) -
第 1 引数 sep で指定されたセパレータによって文字列を limit 個まで分割し、 結果を文字列の配列で返します。 ブロックを指定すると、配列を返す代わりに分割した文字列で ブロックを呼び出します。
第 1 引数 sep で指定されたセパレータによって文字列を limit 個まで分割し、
結果を文字列の配列で返します。
ブロックを指定すると、配列を返す代わりに分割した文字列で
ブロックを呼び出します。
第 1 引数 sep は以下のいずれかです。
: 正規表現
正規表現にマッチする部分で分割する。
特に、括弧によるグルーピングがあればそのグループにマッチした
文字列も結果の配列に含まれる (後述)。
: 文字列
その文字列自体にマッチする部分で分割する。
: 1 バイトの空白文字 ' '
先頭の連続する空白を除いたうえで、連続する空白で分割する... -
String
# split(sep = $ ; , limit = 0) {|s| . . . } -> self (403.0) -
第 1 引数 sep で指定されたセパレータによって文字列を limit 個まで分割し、 結果を文字列の配列で返します。 ブロックを指定すると、配列を返す代わりに分割した文字列で ブロックを呼び出します。
第 1 引数 sep で指定されたセパレータによって文字列を limit 個まで分割し、
結果を文字列の配列で返します。
ブロックを指定すると、配列を返す代わりに分割した文字列で
ブロックを呼び出します。
第 1 引数 sep は以下のいずれかです。
: 正規表現
正規表現にマッチする部分で分割する。
特に、括弧によるグルーピングがあればそのグループにマッチした
文字列も結果の配列に含まれる (後述)。
: 文字列
その文字列自体にマッチする部分で分割する。
: 1 バイトの空白文字 ' '
先頭の連続する空白を除いたうえで、連続する空白で分割する... -
Thread
:: ConditionVariable (385.0) -
スレッドの同期機構の一つである状態変数を実現するクラスです。
スレッドの同期機構の一つである状態変数を実現するクラスです。
以下も ConditionVariable を理解するのに参考になります。
https://ruby-doc.com/docs/ProgrammingRuby/html/tut_threads.html#UF
=== Condition Variable とは
あるスレッド A が排他領域で動いていたとします。スレッド A は現在空いていない
リソースが必要になったので空くまで待つことにしたとします。これはうまくいきません。
なぜなら、スレッド A は排他領域で動いているわけですから、他のスレッドは動くことが
できません。リ... -
Kernel
. # system(command , options={}) -> bool | nil (367.0) -
引数を外部コマンドとして実行して、成功した時に真を返します。
引数を外部コマンドとして実行して、成功した時に真を返します。
子プロセスが終了ステータス 0 で終了すると成功とみなし true を返します。
それ以外の終了ステータスの場合は false を返します。
コマンドを実行できなかった場合は nil を返します。
options で :exception に true を指定することで、
nil や false を返す代わりに例外を発生するようにできます。
終了ステータスは変数 $? で参照できます。
コマンドを実行することができなかった場合、多くのシェルはステータス
127 を返します。シェルを介さない場合は Ruby の子プロセスがス... -
Kernel
. # system(env , command , options={}) -> bool | nil (367.0) -
引数を外部コマンドとして実行して、成功した時に真を返します。
引数を外部コマンドとして実行して、成功した時に真を返します。
子プロセスが終了ステータス 0 で終了すると成功とみなし true を返します。
それ以外の終了ステータスの場合は false を返します。
コマンドを実行できなかった場合は nil を返します。
options で :exception に true を指定することで、
nil や false を返す代わりに例外を発生するようにできます。
終了ステータスは変数 $? で参照できます。
コマンドを実行することができなかった場合、多くのシェルはステータス
127 を返します。シェルを介さない場合は Ruby の子プロセスがス... -
File
. fnmatch(pattern , path , flags = 0) -> bool (349.0) -
ファイル名のパターンマッチ fnmatch(3) を行います。 path が pattern にマッチすれば真を返します。そうでない場合には false を返します。
ファイル名のパターンマッチ fnmatch(3) を行います。
path が pattern にマッチすれば真を返します。そうでない場合には false を返します。
@param pattern パターンを文字列で指定します。ワイルドカードとして `*',
`**`, `?', `[]', `{}' が使用できます。
//emlist[例][ruby]{
%w(foo foobar bar).each {|f|
p File.fnmatch("foo*", f)
}
# => true
# true
# false
//}
@param p... -
File
. fnmatch?(pattern , path , flags = 0) -> bool (349.0) -
ファイル名のパターンマッチ fnmatch(3) を行います。 path が pattern にマッチすれば真を返します。そうでない場合には false を返します。
ファイル名のパターンマッチ fnmatch(3) を行います。
path が pattern にマッチすれば真を返します。そうでない場合には false を返します。
@param pattern パターンを文字列で指定します。ワイルドカードとして `*',
`**`, `?', `[]', `{}' が使用できます。
//emlist[例][ruby]{
%w(foo foobar bar).each {|f|
p File.fnmatch("foo*", f)
}
# => true
# true
# false
//}
@param p... -
Regexp
# match(str , pos = 0) -> MatchData | nil (349.0) -
指定された文字列 str に対して位置 pos から自身が表す正規表現によるマッ チングを行います。マッチした場合には結果を MatchData オブジェクトで返し ます。 マッチしなかった場合 nil を返します。
指定された文字列 str に対して位置 pos から自身が表す正規表現によるマッ
チングを行います。マッチした場合には結果を MatchData オブジェクトで返し
ます。
マッチしなかった場合 nil を返します。
省略可能な第二引数 pos を指定すると、マッチの開始位置を pos から行
うよう制御できます(pos のデフォルト値は 0)。
//emlist[例][ruby]{
p(/(.).(.)/.match("foobar", 3).captures) # => ["b", "r"]
p(/(.).(.)/.match("foobar", -3).captures) #... -
Regexp
# match(str , pos = 0) {|m| . . . } -> object | nil (349.0) -
指定された文字列 str に対して位置 pos から自身が表す正規表現によるマッ チングを行います。マッチした場合には結果を MatchData オブジェクトで返し ます。 マッチしなかった場合 nil を返します。
指定された文字列 str に対して位置 pos から自身が表す正規表現によるマッ
チングを行います。マッチした場合には結果を MatchData オブジェクトで返し
ます。
マッチしなかった場合 nil を返します。
省略可能な第二引数 pos を指定すると、マッチの開始位置を pos から行
うよう制御できます(pos のデフォルト値は 0)。
//emlist[例][ruby]{
p(/(.).(.)/.match("foobar", 3).captures) # => ["b", "r"]
p(/(.).(.)/.match("foobar", -3).captures) #... -
Integer
# [](nth) -> Integer (331.0) -
nth 番目のビット(最下位ビット(LSB)が 0 番目)が立っている時 1 を、そうでなければ 0 を返します。
nth 番目のビット(最下位ビット(LSB)が 0 番目)が立っている時 1
を、そうでなければ 0 を返します。
@param nth 何ビット目を指すかの数値
@param len 何ビット分を返すか
@param range 返すビットの範囲
@return self[nth] は 1 か 0
@return self[i, len] は (n >> i) & ((1 << len) - 1) と同じ
@return self[i..j] は (n >> i) & ((1 << (j - i + 1)) - 1) と同じ
@return sel... -
Integer
# [](nth , len) -> Integer (331.0) -
nth 番目のビット(最下位ビット(LSB)が 0 番目)が立っている時 1 を、そうでなければ 0 を返します。
nth 番目のビット(最下位ビット(LSB)が 0 番目)が立っている時 1
を、そうでなければ 0 を返します。
@param nth 何ビット目を指すかの数値
@param len 何ビット分を返すか
@param range 返すビットの範囲
@return self[nth] は 1 か 0
@return self[i, len] は (n >> i) & ((1 << len) - 1) と同じ
@return self[i..j] は (n >> i) & ((1 << (j - i + 1)) - 1) と同じ
@return sel... -
Integer
# [](range) -> Integer (331.0) -
nth 番目のビット(最下位ビット(LSB)が 0 番目)が立っている時 1 を、そうでなければ 0 を返します。
nth 番目のビット(最下位ビット(LSB)が 0 番目)が立っている時 1
を、そうでなければ 0 を返します。
@param nth 何ビット目を指すかの数値
@param len 何ビット分を返すか
@param range 返すビットの範囲
@return self[nth] は 1 か 0
@return self[i, len] は (n >> i) & ((1 << len) - 1) と同じ
@return self[i..j] は (n >> i) & ((1 << (j - i + 1)) - 1) と同じ
@return sel... -
Kernel
. # lambda { . . . } -> Proc (331.0) -
与えられたブロックから手続きオブジェクト (Proc のインスタンス) を生成して返します。Proc.new に近い働きをします。
与えられたブロックから手続きオブジェクト (Proc のインスタンス)
を生成して返します。Proc.new に近い働きをします。
また、lambda に & 引数を渡すのは推奨されません。& 引数ではなくてブロック記法で記述する必要があります。
& 引数を渡した lambda は Warning[:deprecated] = true のときに警告メッセージ
「warning: lambda without a literal block is deprecated; use the proc without lambda instead」
を出力します。
@raise Argum... -
Kernel
. # proc { . . . } -> Proc (331.0) -
与えられたブロックから手続きオブジェクト (Proc のインスタンス) を生成して返します。Proc.new に近い働きをします。
与えられたブロックから手続きオブジェクト (Proc のインスタンス)
を生成して返します。Proc.new に近い働きをします。
また、lambda に & 引数を渡すのは推奨されません。& 引数ではなくてブロック記法で記述する必要があります。
& 引数を渡した lambda は Warning[:deprecated] = true のときに警告メッセージ
「warning: lambda without a literal block is deprecated; use the proc without lambda instead」
を出力します。
@raise Argum... -
Array
# []=(start , length , val) (292.0) -
インデックス start から length 個の要素を配列 val の内容で置き換えます。 start が自身の末尾を越える時には配列の長さを自動的に拡張し、拡張した領域を nil で初期化します。
インデックス start から length 個の要素を配列 val の内容で置き換えます。
start が自身の末尾を越える時には配列の長さを自動的に拡張し、拡張した領域を nil で初期化します。
//emlist[例][ruby]{
ary = [0, 1, 2, 3]
ary[1, 2] = ["a", "b", "c", "d"]
p ary #=> [0, "a", "b", "c", "d", 3]
ary = [0, 1, 2]
ary[5, 1] = "Z"
p ary #=> ... -
Struct
. new(*args , keyword _ init: nil) -> Class (292.0) -
Struct クラスに新しいサブクラスを作って、それを返します。
Struct クラスに新しいサブクラスを作って、それを返します。
サブクラスでは構造体のメンバに対するアクセスメソッドが定義されています。
//emlist[例][ruby]{
dog = Struct.new("Dog", :name, :age)
fred = dog.new("fred", 5)
fred.age = 6
printf "name:%s age:%d", fred.name, fred.age
#=> "name:fred age:6" を出力します
//}
実装の都合により、クラス名の省略は後づけの機能でした。
メンバ名に String を指定できるのは後方互換... -
Struct
. new(*args , keyword _ init: nil) {|subclass| block } -> Class (292.0) -
Struct クラスに新しいサブクラスを作って、それを返します。
Struct クラスに新しいサブクラスを作って、それを返します。
サブクラスでは構造体のメンバに対するアクセスメソッドが定義されています。
//emlist[例][ruby]{
dog = Struct.new("Dog", :name, :age)
fred = dog.new("fred", 5)
fred.age = 6
printf "name:%s age:%d", fred.name, fred.age
#=> "name:fred age:6" を出力します
//}
実装の都合により、クラス名の省略は後づけの機能でした。
メンバ名に String を指定できるのは後方互換... -
Enumerable
# chunk {|elt| . . . } -> Enumerator (277.0) -
要素を前から順にブロックで評価し、その結果によって 要素をチャンクに分けた(グループ化した)要素を持つ Enumerator を返します。
要素を前から順にブロックで評価し、その結果によって
要素をチャンクに分けた(グループ化した)要素を持つ
Enumerator を返します。
ブロックの評価値が同じ値が続くものを一つのチャンクとして
取り扱います。すなわち、ブロックの評価値が一つ前と
異なる所でチャンクが区切られます。
返り値の Enumerator は各チャンクのブロック評価値と
各チャンクの要素を持つ配列のペアを各要素とします。
そのため、eachだと以下のようになります。
//emlist[][ruby]{
enum.chunk {|elt| key }.each {|key, ary| do_something ... -
Kernel
. # Rational(x , y = 1 , exception: true) -> Rational | nil (277.0) -
引数を有理数(Rational)に変換した結果を返します。
引数を有理数(Rational)に変換した結果を返します。
@param x 変換対象のオブジェクトです。
@param y 変換対象のオブジェクトです。省略した場合は x だけを用いて
Rational オブジェクトを作成します。
@param exception false を指定すると、変換できなかった場合、
例外を発生する代わりに nil を返します。
@raise ArgumentError 変換できないオブジェクトを指定した場合に発生します。
引数 x、y の両方を指定した場合、x/y した Rational オブジェ... -
Kernel
. # system(env , program , *args , options={}) -> bool | nil (277.0) -
引数を外部コマンドとして実行して、成功した時に真を返します。
引数を外部コマンドとして実行して、成功した時に真を返します。
子プロセスが終了ステータス 0 で終了すると成功とみなし true を返します。
それ以外の終了ステータスの場合は false を返します。
コマンドを実行できなかった場合は nil を返します。
options で :exception に true を指定することで、
nil や false を返す代わりに例外を発生するようにできます。
終了ステータスは変数 $? で参照できます。
コマンドを実行することができなかった場合、多くのシェルはステータス
127 を返します。シェルを介さない場合は Ruby の子プロセスがス... -
Kernel
. # system(program , *args , options={}) -> bool | nil (277.0) -
引数を外部コマンドとして実行して、成功した時に真を返します。
引数を外部コマンドとして実行して、成功した時に真を返します。
子プロセスが終了ステータス 0 で終了すると成功とみなし true を返します。
それ以外の終了ステータスの場合は false を返します。
コマンドを実行できなかった場合は nil を返します。
options で :exception に true を指定することで、
nil や false を返す代わりに例外を発生するようにできます。
終了ステータスは変数 $? で参照できます。
コマンドを実行することができなかった場合、多くのシェルはステータス
127 を返します。シェルを介さない場合は Ruby の子プロセスがス... -
Regexp
. union(*pattern) -> Regexp (277.0) -
引数として与えた pattern を選択 | で連結し、Regexp として返します。 結果の Regexp は与えた pattern のどれかにマッチする場合にマッチするものになります。
引数として与えた pattern を選択 | で連結し、Regexp として返します。
結果の Regexp は与えた pattern のどれかにマッチする場合にマッチするものになります。
//emlist[][ruby]{
p Regexp.union(/a/, /b/, /c/) # => /(?-mix:a)|(?-mix:b)|(?-mix:c)/
//}
引数を一つだけ与える場合は、Array を与えても Regexp を生成します。
つまり、以下のように書くことができます。
//emlist[][ruby]{
arr = [/a/, /b/, /c/]
p Regexp.u... -
String
# chr -> String (277.0) -
self の最初の文字だけを含む文字列を返します。
self の最初の文字だけを含む文字列を返します。
//emlist[例][ruby]{
a = "abcde"
a.chr #=> "a"
//}
Ruby 1.9 で IO#getc の戻り値が Integer から String を返すように変更になりました。
Ruby 1.8 以前と1.9以降の互換性を保つために String#chr が存在します。
例:
# ruby 1.8 系では STDIN.getc が 116 を返すため Integer#chr が呼び出される
$ echo test | ruby -e "p STDIN.getc.chr" # => ... -
Symbol
# match?(regexp , pos = 0) -> bool (277.0) -
regexp.match?(self, pos) と同じです。 regexp が文字列の場合は、正規表現にコンパイルします。 詳しくは Regexp#match? を参照してください。
regexp.match?(self, pos) と同じです。
regexp が文字列の場合は、正規表現にコンパイルします。
詳しくは Regexp#match? を参照してください。
例:
:Ruby.match?(/R.../) # => true
:Ruby.match?('Ruby') # => true
:Ruby.match?('Ruby',1) # => false
:Ruby.match?('uby',1) # => true
:Ruby.match?(/P.../) # => false
$& ... -
Kernel
. # spawn(command , options={}) -> Integer (274.0) -
引数を外部コマンドとして実行しますが、生成した 子プロセスの終了を待ち合わせません。生成した子プロセスのプロセスIDを返します。
引数を外部コマンドとして実行しますが、生成した
子プロセスの終了を待ち合わせません。生成した子プロセスのプロセスIDを返します。
=== 引数の解釈
この形式では command が shell のメタ文字
//emlist{
* ? {} [] <> () ~ & | \ $ ; ' ` " \n
//}
を含む場合、shell 経由で実行されます。
そうでなければインタプリタから直接実行されます。
@param command コマンドを文字列で指定します。
@param env 更新する環境変数を表す Hash
@param options オプションパラメータ Hash... -
Kernel
. # spawn(env , command , options={}) -> Integer (274.0) -
引数を外部コマンドとして実行しますが、生成した 子プロセスの終了を待ち合わせません。生成した子プロセスのプロセスIDを返します。
引数を外部コマンドとして実行しますが、生成した
子プロセスの終了を待ち合わせません。生成した子プロセスのプロセスIDを返します。
=== 引数の解釈
この形式では command が shell のメタ文字
//emlist{
* ? {} [] <> () ~ & | \ $ ; ' ` " \n
//}
を含む場合、shell 経由で実行されます。
そうでなければインタプリタから直接実行されます。
@param command コマンドを文字列で指定します。
@param env 更新する環境変数を表す Hash
@param options オプションパラメータ Hash... -
Kernel
. # exec(env , program , *args , options={}) -> () (271.0) -
引数で指定されたコマンドを実行します。
引数で指定されたコマンドを実行します。
プロセスの実行コードはそのコマンド(あるいは shell)になるので、
起動に成功した場合、このメソッドからは戻りません。
この形式では、常に shell を経由せずに実行されます。
exec(3) でコマンドを実行すると、
元々のプログラムの環境をある程度(ファイルデスクリプタなど)引き継ぎます。
Hash を options として渡すことで、この挙動を変更できます。
詳しくは Kernel.#spawn を参照してください。
=== 引数の解釈
この形式で呼び出した場合、空白や shell のメタキャラクタも
そのまま program ... -
Kernel
. # exec(program , *args , options={}) -> () (271.0) -
引数で指定されたコマンドを実行します。
引数で指定されたコマンドを実行します。
プロセスの実行コードはそのコマンド(あるいは shell)になるので、
起動に成功した場合、このメソッドからは戻りません。
この形式では、常に shell を経由せずに実行されます。
exec(3) でコマンドを実行すると、
元々のプログラムの環境をある程度(ファイルデスクリプタなど)引き継ぎます。
Hash を options として渡すことで、この挙動を変更できます。
詳しくは Kernel.#spawn を参照してください。
=== 引数の解釈
この形式で呼び出した場合、空白や shell のメタキャラクタも
そのまま program ... -
Kernel
. # exit!(status = false) -> () (271.0) -
Rubyプログラムの実行を即座に終了します。 status として整数が与えられた場合、その値を Ruby コマンドの終了ステータスとします。 デフォルトの終了ステータスは 1 です。
Rubyプログラムの実行を即座に終了します。
status として整数が与えられた場合、その値を Ruby コマンドの終了ステータスとします。
デフォルトの終了ステータスは 1 です。
status が true の場合 0、 false の場合 1 を引数に指定したとみなされます。この値はCレベルの定数
EXIT_SUCCESS、EXIT_FAILURE の値なので、正確には環境依存です。
exit! は exit とは違って、例外処理などは一切行ないませ
ん。 Kernel.#fork の後、子プロセスを終了させる時などに用
いられます。
@param status 終了ステータス... -
Kernel
. # exit(status = true) -> () (271.0) -
Rubyプログラムの実行を終了します。status として整 数が与えられた場合、その値を Ruby コマンドの終了ステータスとします。 デフォルトの終了ステータスは 0(正常終了)です。
Rubyプログラムの実行を終了します。status として整
数が与えられた場合、その値を Ruby コマンドの終了ステータスとします。
デフォルトの終了ステータスは 0(正常終了)です。
status が true の場合 0、 false の場合 1 を引数に指定したとみなされます。この値はCレベルの定数
EXIT_SUCCESS、EXIT_FAILURE の値なので、正確には環境依存です。
exit は例外 SystemExit を発生させ
ることによってプログラムの実行を終了させますので、
必要に応じて begin 節で捕捉することができます。
@param status 終了... -
BasicObject
# method _ missing(name , *args) -> object (265.0) -
呼びだされたメソッドが定義されていなかった時、Rubyインタプリタがこのメソッド を呼び出します。
呼びだされたメソッドが定義されていなかった時、Rubyインタプリタがこのメソッド
を呼び出します。
呼び出しに失敗したメソッドの名前 (Symbol) が name に
その時の引数が第二引数以降に渡されます。
デフォルトではこのメソッドは例外 NoMethodError を発生させます。
@param name 未定義メソッドの名前(シンボル)です。
@param args 未定義メソッドに渡された引数です。
@return ユーザー定義の method_missing メソッドの返り値が未定義メソッドの返り値で
あるかのように見えます。
//emlist[例][ruby]{... -
Kernel
. # eval(expr) -> object (265.0) -
文字列 expr を Ruby プログラムとして評価してその結果を返しま す。第2引数に Binding オブジェクトを与えた場合、 そのオブジェクトを生成したコンテキストで文字列を評価します。
文字列 expr を Ruby プログラムとして評価してその結果を返しま
す。第2引数に
Binding オブジェクトを与えた場合、
そのオブジェクトを生成したコンテキストで文字列を評価します。
expr の中のローカル変数の扱いはブロックの場合と同じです。すなわち、eval
実行前に補足されていた変数は eval 実行後にブロック外に持ち出せます。
fname と lineno が与えられた場合には、ファイル
fname の行番号 lineno から文字列 expr が書かれているかのように
コンパイルされます。スタックトレースの表示などを差し替えることが
できます。
bind によ... -
Kernel
. # eval(expr , bind , fname = "(eval)" , lineno = 1) -> object (265.0) -
文字列 expr を Ruby プログラムとして評価してその結果を返しま す。第2引数に Binding オブジェクトを与えた場合、 そのオブジェクトを生成したコンテキストで文字列を評価します。
文字列 expr を Ruby プログラムとして評価してその結果を返しま
す。第2引数に
Binding オブジェクトを与えた場合、
そのオブジェクトを生成したコンテキストで文字列を評価します。
expr の中のローカル変数の扱いはブロックの場合と同じです。すなわち、eval
実行前に補足されていた変数は eval 実行後にブロック外に持ち出せます。
fname と lineno が与えられた場合には、ファイル
fname の行番号 lineno から文字列 expr が書かれているかのように
コンパイルされます。スタックトレースの表示などを差し替えることが
できます。
bind によ... -
Kernel
. # require(feature) -> bool (265.0) -
Ruby ライブラリ feature をロードします。拡張子補完を行い、 同じファイルの複数回ロードはしません。
Ruby ライブラリ feature をロードします。拡張子補完を行い、
同じファイルの複数回ロードはしません。
feature が絶対パスのときは feature からロードします。
feature が相対パスのときは組み込み変数 $:
に示されるパスを順番に探し、最初に見付かったファイルを
ロードします。このとき、$: の要素文字列の先頭文字が
`~' (チルダ) だと、環境変数 HOME の値に展開されます。
また `~USER' はそのユーザのホームディレクトリに展開されます。
Ruby ライブラリとは Ruby スクリプト (*.rb) か拡張ライブラリ
(*.so,*.o,*... -
Kernel
. # set _ trace _ func(proc) -> Proc (265.0) -
Ruby インタプリタのイベントをトレースする Proc オブジェクトとして 指定された proc を登録します。 nil を指定するとトレースがオフになります。
Ruby インタプリタのイベントをトレースする Proc オブジェクトとして
指定された proc を登録します。 nil を指定するとトレースがオフになります。
Ruby インタプリタがプログラムを実行する過程で、メソッドの呼び出しや
式の評価などのイベントが発生する度に、以下で説明する6個の引数とともに
登録された Proc オブジェクトを実行します。
標準添付の debug、tracer、
profile はこの組み込み関数を利用して実現されています。
=== ブロックパラメータの意味
渡す Proc オブジェクトのパラメータは
//emlist[][ruby]{
proc{|... -
Array
# []=(range , val) (262.0) -
Range オブジェクト range の範囲にある要素を配列 val の内容に置換します。 range の first が自身の末尾を越える時には配列の長さを自動的に拡張し、拡張した領域を nil で初期化します。
Range オブジェクト range の範囲にある要素を配列 val の内容に置換します。
range の first が自身の末尾を越える時には配列の長さを自動的に拡張し、拡張した領域を nil で初期化します。
//emlist[例][ruby]{
ary = [0, 1, 2, 3, 4, 5]
ary[0..2] = ["a", "b"]
p ary # => ["a", "b", 3, 4, 5]
ary = [0, 1, 2]
ary[5..6] = "x"
p ary # => [0, 1, 2, nil, nil, "x"]
ary = [0, 1, 2, 3, 4... -
File
. dirname(filename , level=1) -> String (259.0) -
filename の一番後ろのスラッシュより前を文 字列として返します。スラッシュを含まないファイル名に対しては "."(カレントディレクトリ)を返します。
filename の一番後ろのスラッシュより前を文
字列として返します。スラッシュを含まないファイル名に対しては
"."(カレントディレクトリ)を返します。
//emlist[例][ruby]{
p File.dirname("dir/file.ext") # => "dir"
p File.dirname("file.ext") # => "."
//}
File.dirname の動作は dirname(3)
に従います。
//emlist[例][ruby]{
p File.dirname("foo/bar/") # => "foo"
p File.di... -
Kernel
. # fail -> () (259.0) -
例外を発生させます。 発生した例外は変数 $! に格納されます。また例外が 発生した時のスタックトレースは変数 $@ に格納され ます。発生した例外は rescue 節で捕捉できます。
例外を発生させます。
発生した例外は変数 $! に格納されます。また例外が
発生した時のスタックトレースは変数 $@ に格納され
ます。発生した例外は rescue 節で捕捉できます。
引数無しの場合は、同スレッドの同じブロック内で最後に rescue された
例外オブジェクト ($!) を再発生させます。そのような
例外が存在しないが自身は捕捉されている時には例外 RuntimeError を発生させます。
//emlist[例][ruby]{
begin
open("nonexist")
rescue
raise #=> `open': No such file or d... -
Kernel
. # fail(error _ type , message = nil , backtrace = caller(0) , cause: $ !) -> () (259.0) -
例外を発生させます。 発生した例外は変数 $! に格納されます。また例外が 発生した時のスタックトレースは変数 $@ に格納され ます。発生した例外は rescue 節で捕捉できます。
例外を発生させます。
発生した例外は変数 $! に格納されます。また例外が
発生した時のスタックトレースは変数 $@ に格納され
ます。発生した例外は rescue 節で捕捉できます。
引数無しの場合は、同スレッドの同じブロック内で最後に rescue された
例外オブジェクト ($!) を再発生させます。そのような
例外が存在しないが自身は捕捉されている時には例外 RuntimeError を発生させます。
//emlist[例][ruby]{
begin
open("nonexist")
rescue
raise #=> `open': No such file or d... -
Kernel
. # fail(message , cause: $ !) -> () (259.0) -
例外を発生させます。 発生した例外は変数 $! に格納されます。また例外が 発生した時のスタックトレースは変数 $@ に格納され ます。発生した例外は rescue 節で捕捉できます。
例外を発生させます。
発生した例外は変数 $! に格納されます。また例外が
発生した時のスタックトレースは変数 $@ に格納され
ます。発生した例外は rescue 節で捕捉できます。
引数無しの場合は、同スレッドの同じブロック内で最後に rescue された
例外オブジェクト ($!) を再発生させます。そのような
例外が存在しないが自身は捕捉されている時には例外 RuntimeError を発生させます。
//emlist[例][ruby]{
begin
open("nonexist")
rescue
raise #=> `open': No such file or d... -
Kernel
. # raise -> () (259.0) -
例外を発生させます。 発生した例外は変数 $! に格納されます。また例外が 発生した時のスタックトレースは変数 $@ に格納され ます。発生した例外は rescue 節で捕捉できます。
例外を発生させます。
発生した例外は変数 $! に格納されます。また例外が
発生した時のスタックトレースは変数 $@ に格納され
ます。発生した例外は rescue 節で捕捉できます。
引数無しの場合は、同スレッドの同じブロック内で最後に rescue された
例外オブジェクト ($!) を再発生させます。そのような
例外が存在しないが自身は捕捉されている時には例外 RuntimeError を発生させます。
//emlist[例][ruby]{
begin
open("nonexist")
rescue
raise #=> `open': No such file or d... -
Kernel
. # raise(error _ type , message = nil , backtrace = caller(0) , cause: $ !) -> () (259.0) -
例外を発生させます。 発生した例外は変数 $! に格納されます。また例外が 発生した時のスタックトレースは変数 $@ に格納され ます。発生した例外は rescue 節で捕捉できます。
例外を発生させます。
発生した例外は変数 $! に格納されます。また例外が
発生した時のスタックトレースは変数 $@ に格納され
ます。発生した例外は rescue 節で捕捉できます。
引数無しの場合は、同スレッドの同じブロック内で最後に rescue された
例外オブジェクト ($!) を再発生させます。そのような
例外が存在しないが自身は捕捉されている時には例外 RuntimeError を発生させます。
//emlist[例][ruby]{
begin
open("nonexist")
rescue
raise #=> `open': No such file or d... -
Kernel
. # raise(message , cause: $ !) -> () (259.0) -
例外を発生させます。 発生した例外は変数 $! に格納されます。また例外が 発生した時のスタックトレースは変数 $@ に格納され ます。発生した例外は rescue 節で捕捉できます。
例外を発生させます。
発生した例外は変数 $! に格納されます。また例外が
発生した時のスタックトレースは変数 $@ に格納され
ます。発生した例外は rescue 節で捕捉できます。
引数無しの場合は、同スレッドの同じブロック内で最後に rescue された
例外オブジェクト ($!) を再発生させます。そのような
例外が存在しないが自身は捕捉されている時には例外 RuntimeError を発生させます。
//emlist[例][ruby]{
begin
open("nonexist")
rescue
raise #=> `open': No such file or d... -
Kernel
. # warn(*message , uplevel: nil , category: nil) -> nil (259.0) -
message を 標準エラー出力 $stderr に出力します。 $VERBOSE フラグ が nil のときは何も出力しません。
message を 標準エラー出力 $stderr に出力します。 $VERBOSE
フラグ が nil のときは何も出力しません。
文字列以外のオブジェクトが引数として与えられた場合には、
to_s メソッドにより文字列に変換してから出力します。
uplevel を指定しない場合は、
このメソッドは以下と同じです。
//emlist[][ruby]{
$stderr.puts(*message) if !$VERBOSE.nil? && !message.empty?
nil
//}
@param message 出力するオブジェクトを任意個指定します。
@param upleve... -
Object
# hash -> Integer (259.0) -
オブジェクトのハッシュ値を返します。このハッシュ値は、Object#eql? と合わせて Hash クラスで、2つのオブジェクトを同一のキーとするか判定するために用いられます。
オブジェクトのハッシュ値を返します。このハッシュ値は、Object#eql? と合わせて Hash クラスで、2つのオブジェクトを同一のキーとするか判定するために用いられます。
2つのオブジェクトのハッシュ値が異なるとき、直ちに異なるキーとして判定されます。
逆に、2つのハッシュ値が同じとき、さらに Object#eql? での比較により判定されます。
そのため、同じキーとして判定される状況は Object#eql? の比較で真となる場合のみであり、このとき前段階としてハッシュ値どうしが等しい必要があります。
つまり、
A.eql?(B) ならば A.hash == B.hash
... -
Signal
. # trap(signal) { . . . } -> String | Proc | nil (259.0) -
指定された割り込み signal に対するハンドラとして command を登録します。 指定したシグナルが捕捉された時には例外が発生せず、代わりに command が実行されます。 ブロックを指定した場合にはブロックをハンドラとして登録します。
指定された割り込み signal に対するハンドラとして
command を登録します。
指定したシグナルが捕捉された時には例外が発生せず、代わりに command が実行されます。
ブロックを指定した場合にはブロックをハンドラとして登録します。
trap は前回の trap で設定したハンドラを返します。
文字列を登録していた場合はそれを、
ブロックを登録していたらそれを Proc オブジェクトに変換して返します。
また何も登録されていないときも nil を返します。
ruby の仕組みの外でシグナルハンドラが登録された場合
(例えば拡張ライブラリが独自に sigaction を呼んだ場... -
Signal
. # trap(signal , command) -> String | Proc | nil (259.0) -
指定された割り込み signal に対するハンドラとして command を登録します。 指定したシグナルが捕捉された時には例外が発生せず、代わりに command が実行されます。 ブロックを指定した場合にはブロックをハンドラとして登録します。
指定された割り込み signal に対するハンドラとして
command を登録します。
指定したシグナルが捕捉された時には例外が発生せず、代わりに command が実行されます。
ブロックを指定した場合にはブロックをハンドラとして登録します。
trap は前回の trap で設定したハンドラを返します。
文字列を登録していた場合はそれを、
ブロックを登録していたらそれを Proc オブジェクトに変換して返します。
また何も登録されていないときも nil を返します。
ruby の仕組みの外でシグナルハンドラが登録された場合
(例えば拡張ライブラリが独自に sigaction を呼んだ場...