別のキーワード
クラス
-
ARGF
. class (25) - Array (197)
- BasicObject (14)
- Binding (7)
- Class (7)
- Complex (41)
- Dir (53)
- Encoding (19)
-
Encoding
:: Converter (22) -
Encoding
:: InvalidByteSequenceError (2) -
Encoding
:: UndefinedConversionError (1) - Enumerator (18)
-
Enumerator
:: Chain (1) -
Enumerator
:: Lazy (36) -
Enumerator
:: Yielder (3) - Exception (13)
- FalseClass (5)
- Fiber (6)
- File (50)
-
File
:: Stat (43) - Float (44)
- FrozenError (3)
- Hash (104)
- IO (70)
- Integer (70)
- KeyError (4)
- MatchData (23)
- Method (24)
- Module (90)
- NilClass (14)
- Numeric (49)
- Object (87)
-
ObjectSpace
:: WeakMap (1) - Proc (18)
- Random (16)
- Range (40)
- Rational (27)
- Regexp (25)
- RubyVM (3)
-
RubyVM
:: AbstractSyntaxTree :: Node (7) -
RubyVM
:: InstructionSequence (21) - SignalException (5)
- String (184)
- Struct (31)
- Symbol (9)
- SystemCallError (1)
- Thread (26)
-
Thread
:: Backtrace :: Location (7) -
Thread
:: ConditionVariable (2) -
Thread
:: Mutex (5) -
Thread
:: Queue (9) -
Thread
:: SizedQueue (6) - ThreadGroup (3)
- Time (73)
- TracePoint (20)
- TrueClass (5)
- UnboundMethod (14)
- UncaughtThrowError (3)
モジュール
- Comparable (8)
- Enumerable (122)
- FileTest (15)
- GC (10)
-
GC
:: Profiler (4) - Kernel (136)
- Marshal (6)
- Math (23)
- ObjectSpace (10)
- Process (8)
-
RubyVM
:: AbstractSyntaxTree (3) -
RubyVM
:: MJIT (3) - Signal (2)
- Warning (1)
キーワード
- ! (1)
- != (1)
- !~ (1)
-
$ $ (1) -
$ & (1) -
$ & # 39; (1) -
$ * (1) -
$ , (1) -
$ -0 (1) -
$ -F (1) -
$ -I (1) -
$ -K (1) -
$ -v (1) -
$ -w (1) -
$ . (1) -
$ / (1) -
$ 0 (1) -
$ 1 (1) -
$ 10 (1) -
$ 11 (1) -
$ 2 (1) -
$ 3 (1) -
$ 4 (1) -
$ 5 (1) -
$ 6 (1) -
$ 7 (1) -
$ 8 (1) -
$ 9 (1) -
$ : (1) -
$ ; (1) -
$ = (1) -
$ > (1) -
$ KCODE (1) -
$ LOAD _ PATH (1) -
$ PROGRAM _ NAME (1) -
$ SAFE (1) -
$ VERBOSE (1) -
$ _ (1) -
$ ` (1) -
$ stderr (1) -
$ stdin (1) -
$ stdout (1) -
$ ~ (1) - % (6)
- & (5)
- * (7)
- ** (4)
- + (8)
- +@ (2)
- - (7)
- -@ (5)
-
/ (4) - < (5)
- << (6)
- <= (5)
- <=> (12)
- == (18)
- === (10)
- =~ (4)
- > (5)
- >= (5)
- >> (3)
- ARGF (1)
- ARGV (1)
- AbstractSyntaxTree (1)
- Array (2)
- BasicObject (1)
-
CESU
_ 8 (1) - Class (1)
- CompatibilityError (1)
- Complex (3)
- ConditionVariable (1)
- Constants (1)
- ConverterNotFoundError (1)
- DATA (1)
- DEBUG (1)
- DEBUG= (1)
- DEFAULT (1)
-
DEFAULT
_ PARAMS (1) - E (1)
- ENV (1)
- EXXX (1)
- Encoding (1)
- Enumerator (1)
- FALSE (1)
- Fiber (1)
- Float (2)
- FrozenError (1)
- GC (1)
- Hash (1)
-
INSTRUCTION
_ NAMES (1) - InstructionSequence (1)
- Integer (1)
- InvalidByteSequenceError (1)
- KeyError (1)
- Lazy (1)
- Location (1)
-
MAJOR
_ VERSION (1) -
MINOR
_ VERSION (1) - MJIT (1)
- Marshal (1)
- Math (1)
- Method (1)
- NIL (1)
- Node (1)
- NotImplementedError (1)
- Numeric (1)
- OPTS (1)
- PI (1)
- Proc (1)
- Queue (1)
-
RUBY
_ COPYRIGHT (1) -
RUBY
_ DESCRIPTION (1) -
RUBY
_ ENGINE (1) -
RUBY
_ ENGINE _ VERSION (1) -
RUBY
_ PATCHLEVEL (1) -
RUBY
_ PLATFORM (1) -
RUBY
_ RELEASE _ DATE (1) -
RUBY
_ REVISION (1) -
RUBY
_ VERSION (1) - Range (1)
- Rational (2)
- Regexp (1)
- RegexpError (1)
- RubyVM (1)
-
SCRIPT
_ LINES _ _ (1) -
SHIFT
_ JIS (1) - STDERR (1)
- STDIN (1)
- STDOUT (1)
- ScriptError (1)
-
Shift
_ JIS (1) - SizedQueue (1)
- Stat (1)
- String (2)
- Symbol (1)
- SystemCallError (1)
- SystemExit (1)
- TRUE (1)
- Thread (1)
- Time (1)
- TracePoint (1)
- UnboundMethod (1)
- UndefinedConversionError (1)
- Warning (1)
- [] (27)
- []= (14)
- ^ (4)
-
_ _ callee _ _ (1) -
_ _ id _ _ (1) -
_ _ method _ _ (1) -
_ _ send _ _ (2) -
_ dump (1) -
_ id2ref (1) -
_ load (1) - ` (1)
- abort (2)
-
abort
_ on _ exception (2) -
abort
_ on _ exception= (2) - abs (5)
- abs2 (2)
-
absolute
_ path (3) -
absolute
_ path? (1) - acos (1)
- add (1)
-
add
_ trace _ func (1) - advise (1)
-
alias
_ method (1) - aliases (1)
- all? (6)
-
all
_ symbols (1) - allbits? (1)
- allocate (1)
- ancestors (1)
- angle (3)
- any? (6)
- anybits? (1)
- append (1)
-
append
_ features (1) - arg (3)
- argv (1)
- argv0 (1)
- arity (3)
-
ascii
_ compatible? (1) -
asciicompat
_ encoding (2) - asctime (1)
- 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)
- b (1)
- backtrace (2)
-
backtrace
_ locations (3) -
base
_ label (2) - basename (1)
- begin (2)
- between? (1)
- bind (1)
-
bind
_ call (2) - binding (3)
- binmode (2)
- binread (1)
- binwrite (1)
- birthtime (2)
-
bit
_ length (1) - blksize (1)
-
block
_ given? (1) - blockdev? (1)
- blocks (1)
- broadcast (1)
- bsearch (4)
-
bsearch
_ index (2) - 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)
- casefold? (1)
- catch (2)
- cause (1)
- cbrt (1)
- ceil (5)
- center (1)
- chain (1)
- chardev? (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) - clear (5)
- clone (7)
- close (4)
-
close
_ read (1) -
close
_ write (1) - closed? (3)
- codepoints (2)
- coerce (3)
- collect (5)
- collect! (2)
-
collect
_ concat (3) - combination (2)
- compact (2)
- compact! (2)
-
compare
_ by _ identity (1) -
compare
_ by _ identity? (1) - compatible? (1)
- compile (2)
-
compile
_ file (1) -
compile
_ option (1) -
compile
_ option= (1) - concat (4)
- conj (2)
- conjugate (2)
-
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 (8)
-
count
_ objects (1) - cover? (2)
- crypt (1)
- ctime (4)
- curry (4)
- cycle (4)
- day (1)
- deconstruct (1)
-
deconstruct
_ keys (1) - default (2)
- default= (1)
-
default
_ external (1) -
default
_ external= (1) -
default
_ internal= (1) -
default
_ proc (1) -
default
_ proc= (1) -
define
_ finalizer (2) -
define
_ method (2) -
define
_ singleton _ method (2) -
defined
_ class (1) - delete (9)
- delete! (1)
-
delete
_ at (1) -
delete
_ if (6) -
delete
_ prefix (1) -
delete
_ prefix! (1) -
delete
_ suffix (1) -
delete
_ suffix! (1) - denominator (4)
-
deprecate
_ constant (1) - deq (2)
-
destination
_ encoding (1) - detect (2)
- dev (1)
-
dev
_ major (1) -
dev
_ minor (1) - difference (1)
- dig (3)
- digits (2)
- directory? (1)
- dirname (1)
- disable (3)
- disasm (2)
- disassemble (2)
- display (1)
- div (2)
- divmod (2)
- downcase (1)
- downcase! (1)
- downto (2)
- drop (3)
-
drop
_ while (5) - dst? (1)
- dummy? (1)
- dump (3)
- dup (4)
- each (22)
-
each
_ byte (4) -
each
_ char (4) -
each
_ child (6) -
each
_ codepoint (6) -
each
_ cons (2) -
each
_ entry (2) -
each
_ grapheme _ cluster (2) -
each
_ index (2) -
each
_ key (4) -
each
_ line (8) -
each
_ object (4) -
each
_ pair (6) -
each
_ slice (2) -
each
_ value (2) -
each
_ with _ index (2) -
each
_ with _ object (2) - eager (1)
- empty? (6)
- enable (3)
- enabled? (1)
- encode (3)
- encode! (2)
- encoding (1)
- end (2)
-
end
_ with? (2) - entries (4)
-
enum
_ for (4) - eof (1)
- eof? (1)
- eql? (13)
- equal? (3)
- erf (1)
- erfc (1)
-
error
_ bytes (1) -
error
_ char (1) - escape (1)
- eval (4)
-
eval
_ script (1) - even? (1)
- event (1)
- exception (3)
-
exclude
_ end? (1) - exec (4)
- executable? (1)
-
executable
_ real? (2) - exist? (1)
- exists? (3)
- exit (1)
- exit! (1)
- exp (1)
- extend (1)
-
extend
_ object (1) - extended (1)
-
external
_ encoding (1) - extname (1)
- fail (3)
- fatal (1)
- fcntl (1)
- fdatasync (1)
- fdiv (3)
- feed (1)
- fetch (7)
-
fetch
_ values (2) - file (1)
- file? (1)
- filename (1)
- fileno (2)
- fill (6)
- filter (9)
- filter! (4)
-
filter
_ map (3) - find (3)
-
find
_ all (3) -
find
_ index (6) - finish (1)
- finite? (3)
- first (6)
-
first
_ column (1) -
first
_ lineno (2) -
fixed
_ encoding? (1) -
flat
_ map (3) - flatten (2)
- flatten! (1)
- flock (1)
- floor (5)
- flush (1)
- fnmatch (1)
- fnmatch? (1)
-
for
_ fd (1) - force (1)
-
force
_ encoding (1) - foreach (6)
- fork (2)
- format (1)
- freeze (2)
- frexp (1)
- friday? (1)
- frozen? (1)
- ftype (2)
- gamma (1)
-
garbage
_ collect (2) - gcd (1)
- gcdlcm (1)
- getbyte (2)
- getc (1)
- getgm (1)
- getlocal (2)
- gets (4)
- getutc (1)
- getwd (1)
- gid (1)
- glob (2)
-
global
_ variables (1) - gm (2)
- gmt? (1)
-
gmt
_ offset (1) - gmtime (1)
- gmtoff (1)
-
grapheme
_ clusters (2) - grep (3)
-
grep
_ v (3) -
group
_ by (2) - groups (1)
- grpowned? (2)
- gsub (7)
- gsub! (4)
-
has
_ key? (1) -
has
_ value? (1) - hash (10)
- hex (1)
- home (2)
- hour (1)
- hypot (1)
- i (1)
- identical? (1)
- imag (2)
- imaginary (2)
- include (2)
- include? (6)
- included (1)
-
included
_ modules (1) -
incomplete
_ input? (1) - index (4)
- infinite? (3)
- inherited (1)
- initialize (1)
-
initialize
_ copy (1) - inject (3)
- ino (1)
-
inplace
_ mode (1) -
inplace
_ mode= (1) - insert (2)
-
insert
_ output (1) - inspect (27)
-
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? (2)
- intern (1)
-
internal
_ encoding (2) - intersection (1)
- invert (1)
-
is
_ a? (1) - isatty (1)
- isdst (1)
- iterator? (1)
- itself (1)
- join (2)
-
keep
_ if (4) - key (1)
- key? (2)
- keys (1)
-
kind
_ of? (1) - label (2)
- lambda (1)
- lambda? (1)
- last (4)
-
last
_ column (1) -
last
_ error (1) -
last
_ lineno (1) -
last
_ match (2) -
last
_ status (1) -
latest
_ gc _ info (2) - lazy (2)
- lchmod (1)
- lchown (1)
- lcm (1)
- ldexp (1)
- length (6)
- lgamma (1)
- lineno (2)
- lines (2)
- link (1)
- list (2)
- 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 (2) -
locale
_ charmap (1) - localtime (2)
- locked? (1)
- log (2)
- log10 (1)
- log2 (1)
- loop (2)
- lstat (2)
- lstrip (1)
- lstrip! (1)
- magnitude (5)
- main (1)
- map (5)
- map! (2)
-
marshal
_ dump (2) -
marshal
_ load (2) - match (4)
- match? (3)
- max (13)
- max= (1)
-
max
_ by (4) - mday (1)
- member? (3)
- members (2)
- merge (2)
- 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 (13)
-
min
_ by (4) - minmax (6)
-
minmax
_ by (2) - mkdir (1)
- mkfifo (1)
- mktime (2)
- mode (1)
-
module
_ eval (2) -
module
_ exec (1) -
module
_ function (3) - modulo (3)
- mon (1)
- monday? (1)
- month (1)
- mtime (3)
- name (5)
- name= (1)
-
name
_ list (1) -
named
_ captures (2) - names (3)
- nan? (1)
- negative? (3)
- nesting (1)
- new (48)
-
new
_ seed (1) - next (3)
- next! (1)
-
next
_ float (1) -
next
_ values (1) - nil? (1)
- nlink (1)
- nobits? (1)
- none? (6)
- nonzero? (1)
- now (1)
- nsec (1)
-
num
_ waiting (1) - numerator (4)
-
object
_ id (1) - oct (1)
- odd? (1)
- of (2)
- offset (2)
- one? (6)
- open (10)
- ord (2)
-
original
_ name (2) - owned? (3)
- owner (2)
- p (1)
- pack (2)
- parameters (3)
- parse (1)
-
parse
_ file (1) - partition (3)
- path (7)
- pause (1)
- peek (1)
-
peek
_ values (1) - permutation (2)
- phase (3)
- pid (1)
- pipe? (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)
-
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) - rdev (1)
-
rdev
_ major (1) -
rdev
_ minor (1) - read (2)
- readable? (2)
-
readable
_ real? (1) - readbyte (2)
- readchar (1)
- readline (1)
- readlines (7)
- readlink (1)
- real (2)
- real? (2)
- realpath (1)
- receiver (3)
- rect (3)
- rectangular (3)
- reduce (3)
- refine (1)
- regexp (1)
- rehash (1)
- reject (9)
- reject! (6)
- 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)
- replicate (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 (2)
- reverse! (2)
-
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 (2) -
ruby2
_ keywords _ hash? (1) - run (1)
- sample (4)
- saturday? (1)
- scan (2)
- scrub (3)
- scrub! (3)
-
search
_ convpath (1) - sec (1)
- seed (1)
- seek (1)
- select (9)
- select! (4)
- self (1)
- send (2)
-
set
_ backtrace (1) -
set
_ encoding _ by _ bom (1) -
set
_ trace _ func (2) - setbyte (1)
- setgid? (2)
- setproctitle (1)
- setuid? (2)
- shift (5)
- shuffle (2)
- shuffle! (2)
- signal (1)
- signm (1)
- signo (1)
- sin (1)
-
singleton
_ class (1) -
singleton
_ class? (1) -
singleton
_ method (1) -
singleton
_ method _ added (1) -
singleton
_ method _ removed (1) -
singleton
_ method _ undefined (1) -
singleton
_ methods (1) - size (11)
- size? (2)
- skip (1)
- sleep (3)
- slice (11)
- slice! (9)
-
slice
_ after (4) -
slice
_ before (5) -
slice
_ when (2) - socket? (2)
- sort (4)
- sort! (2)
-
sort
_ by (2) -
sort
_ by! (2) - source (1)
-
source
_ encoding (1) -
source
_ location (4) - spawn (4)
- split (3)
- sprintf (1)
- sqrt (2)
- squeeze (1)
- squeeze! (1)
- srand (2)
- start (1)
-
start
_ with? (2) - stat (4)
- step (12)
- sticky? (2)
- stop (1)
- stop? (1)
- store (2)
- stress= (1)
- strftime (1)
- string (1)
- strip (1)
- strip! (1)
- sub (5)
- sub! (3)
- subsec (1)
- succ (2)
- succ! (1)
- sum (5)
- sunday? (1)
-
super
_ method (1) - superclass (1)
- swapcase (1)
- swapcase! (1)
- symlink (1)
- symlink? (2)
- sync (1)
- synchronize (1)
- syscall (1)
- sysopen (1)
- system (4)
- syswrite (1)
- tag (1)
- taint (1)
- tainted? (1)
- take (3)
-
take
_ while (6) - tally (1)
- tan (1)
- tap (1)
- tell (2)
- test (2)
- then (2)
-
thread
_ variable _ set (1) - throw (1)
- thursday? (1)
- times (2)
-
to
_ a (10) -
to
_ ary (2) -
to
_ binary (1) -
to
_ c (4) -
to
_ enum (4) -
to
_ f (7) -
to
_ h (11) -
to
_ hash (2) -
to
_ i (8) -
to
_ int (3) -
to
_ path (2) -
to
_ proc (6) -
to
_ r (7) -
to
_ regexp (1) -
to
_ s (25) -
to
_ str (2) -
to
_ sym (1) -
total
_ time (1) - tr (1)
-
tr
_ s (1) -
tr
_ s! (1) - trace (1)
-
trace
_ var (3) -
transform
_ keys (2) -
transform
_ keys! (2) -
transform
_ values (2) -
transform
_ values! (2) - transpose (1)
- trap (2)
- truncate (6)
- trust (1)
-
try
_ convert (4) -
try
_ lock (1) - tty? (1)
- tuesday? (1)
-
tv
_ nsec (1) -
tv
_ sec (1) -
tv
_ usec (1) - type (1)
- uid (1)
- umask (2)
- unbind (1)
-
undef
_ method (1) -
undefine
_ finalizer (1) - undump (1)
-
unicode
_ normalize (1) -
unicode
_ normalize! (1) -
unicode
_ normalized? (1) - union (2)
- uniq (4)
- uniq! (2)
- unlink (2)
- unpack (1)
- unpack1 (1)
- unshift (1)
- untaint (1)
-
untrace
_ var (1) - untrust (1)
- untrusted? (1)
- upcase (1)
- upcase! (1)
- update (2)
- upto (3)
- urandom (1)
- usec (1)
-
used
_ modules (1) - using (2)
- utc (3)
- utc? (1)
-
utc
_ offset (1) - utime (1)
-
valid
_ encoding? (1) - value (1)
- value? (1)
- values (2)
-
values
_ at (4) - wait (1)
- wait2 (1)
- waitpid (1)
- waitpid2 (1)
- wakeup (1)
- warn (2)
- wday (1)
- wednesday? (1)
-
with
_ index (4) -
with
_ object (2) -
world
_ readable? (2) -
world
_ writable? (2) - writable? (2)
-
writable
_ real? (1) - write (3)
- yday (1)
- year (1)
- yield (3)
-
yield
_ self (2) - zero? (4)
- zip (6)
- zone (1)
- | (5)
- ~ (2)
検索結果
先頭5件
-
Hash
. ruby2 _ keywords _ hash?(hash) -> bool (37153.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(... -
Object
:: RUBY _ ENGINE -> String (36925.0) -
Ruby処理系実装の種類を表す文字列。
Ruby処理系実装の種類を表す文字列。
例:
$ ruby-1.9.1 -ve 'p RUBY_ENGINE'
ruby 1.9.1p0 (2009-03-04 revision 22762) [x86_64-linux]
"ruby"
$ jruby -ve 'p RUBY_ENGINE'
jruby 1.2.0 (ruby 1.8.6 patchlevel 287) (2009-03-16 rev 9419) [i386-java]
"jruby" -
Object
:: RUBY _ PATCHLEVEL -> Integer (36817.0) -
Ruby のパッチレベルを表す Integer オブジェクトです。
Ruby のパッチレベルを表す Integer オブジェクトです。
パッチレベルはRubyの各バージョンに対するバグ修正パッチの適用をカウントしています。
teeny リリースのそれぞれについてパッチレベルは 0 から始まり、
その teeny リリースに対してバグ修正パッチが適用される度に増えていきます。
パッチレベルという概念および RUBY_PATCHLEVEL 定数は、 Ruby 1.8.5-p1 以降、 1.8.6 以降で導入されました。
1.8.5やそれ以前のバージョンでは定義されていません。 -
Module
# ruby2 _ keywords(method _ name , . . . ) -> nil (36793.0) -
For the given method names, marks the method as passing keywords through a normal argument splat. This should only be called on methods that accept an argument splat (`*args`) but not explicit keywords or a keyword splat. It marks the method such that if the method is called with keyword arguments, the final hash argument is marked with a special flag such that if it is the final element of a normal argument splat to another method call, and that method call does not include explicit keywords or a keyword splat, the final element is interpreted as keywords. In other words, keywords will be passed through the method to other methods.
For the given method names, marks the method as passing keywords through
a normal argument splat. This should only be called on methods that
accept an argument splat (`*args`) but not explicit keywords or a
keyword splat. It marks the method such that if the method is called
with keyword argument... -
Proc
# ruby2 _ keywords -> proc (36793.0) -
Marks the proc as passing keywords through a normal argument splat. This should only be called on procs that accept an argument splat (`*args`) but not explicit keywords or a keyword splat. It marks the proc such that if the proc is called with keyword arguments, the final hash argument is marked with a special flag such that if it is the final element of a normal argument splat to another method call, and that method call does not include explicit keywords or a keyword splat, the final element is interpreted as keywords. In other words, keywords will be passed through the proc to other methods.
Marks the proc as passing keywords through a normal argument splat. This
should only be called on procs that accept an argument splat (`*args`)
but not explicit keywords or a keyword splat. It marks the proc such
that if the proc is called with keyword arguments, the final hash
argument is marked ... -
Object
:: RUBY _ DESCRIPTION -> String (36745.0) -
Ruby の詳細を表す文字列。
Ruby の詳細を表す文字列。
ruby -v で表示される内容が格納されています。 -
Object
:: RUBY _ VERSION -> String (36745.0) -
Ruby のバージョンを表す文字列。
Ruby のバージョンを表す文字列。
Ruby のバージョンは、major.minor.teeny という形式です。 -
Object
:: RUBY _ COPYRIGHT -> String (36709.0) -
Ruby のコピーライトを表す文字列。
Ruby のコピーライトを表す文字列。 -
Object
:: RUBY _ ENGINE _ VERSION -> String (36709.0) -
Ruby処理系実装のバージョンを表す文字列。
Ruby処理系実装のバージョンを表す文字列。 -
Object
:: RUBY _ RELEASE _ DATE -> String (36709.0) -
Ruby のリリース日を表す文字列。
Ruby のリリース日を表す文字列。 -
Object
:: RUBY _ REVISION -> String (36709.0) -
Ruby の GIT コミットハッシュを表す String オブジェクトです。
Ruby の GIT コミットハッシュを表す String オブジェクトです。 -
Object
:: RUBY _ PLATFORM -> String (36613.0) -
プラットフォームを表す文字列。
プラットフォームを表す文字列。 -
RubyVM (36103.0)
-
Ruby の 内部情報へのアクセス手段を提供するクラスです。 デバッグ用、プロトタイピング用、研究用などの とても限定された用途向けです。 一般ユーザーは使うべきではありません。
Ruby の 内部情報へのアクセス手段を提供するクラスです。
デバッグ用、プロトタイピング用、研究用などの
とても限定された用途向けです。
一般ユーザーは使うべきではありません。 -
RubyVM
:: InstructionSequence . compile(source , file = nil , path = nil , line = 1 , options = nil) -> RubyVM :: InstructionSequence (18739.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 (18739.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
:: AbstractSyntaxTree . parse(string) -> RubyVM :: AbstractSyntaxTree :: Node (18715.0) -
文字列を抽象構文木にパースし、その木の根ノードを返します。
文字列を抽象構文木にパースし、その木の根ノードを返します。
@param string パースする対象の Ruby のコードを文字列で指定します。
@raise SyntaxError string が Ruby のコードとして正しくない場合に発生します。
//emlist[][ruby]{
pp RubyVM::AbstractSyntaxTree.parse("x = 1 + 2")
# => (SCOPE@1:0-1:9
# tbl: [:x]
# args: nil
# body:
# (LASGN@1:0-1:9 :x
# ... -
RubyVM
:: InstructionSequence . compile _ file(file , options = nil) -> RubyVM :: InstructionSequence (18703.0) -
引数 file で指定した Ruby のソースコードを元にコンパイル済みの RubyVM::InstructionSequence オブジェクトを作成して返します。
引数 file で指定した Ruby のソースコードを元にコンパイル済みの
RubyVM::InstructionSequence オブジェクトを作成して返します。
RubyVM::InstructionSequence.compile とは異なり、file、path などの
メタデータは自動的に取得します。
@param file ファイル名を文字列で指定します。
@param options コンパイル時のオプションを true、false、Hash オブ
ジェクトのいずれかで指定します。詳細は
RubyVM::Instr... -
RubyVM
:: AbstractSyntaxTree . parse _ file(pathname) -> RubyVM :: AbstractSyntaxTree :: Node (18679.0) -
pathname のファイルを読み込み、その内容を抽象構文木にパースし、その木の根ノードを返します。
pathname のファイルを読み込み、その内容を抽象構文木にパースし、その木の根ノードを返します。
@param pathname パースする対象のファイルパスを指定します
@raise SyntaxError pathname から取得された文字列が Ruby のコードとして正しくない場合に発生します。
//emlist[][ruby]{
pp RubyVM::AbstractSyntaxTree.parse_file(__FILE__)
# => (SCOPE@1:0-1:50
# tbl: []
# args: nil
# body:
# (F... -
RubyVM
:: AbstractSyntaxTree . of(proc) -> RubyVM :: AbstractSyntaxTree :: Node (18643.0) -
引数 proc に渡したProcやメソッドオブジェクトの抽象構文木を返します。
引数 proc に渡したProcやメソッドオブジェクトの抽象構文木を返します。
このメソッドはProcやメソッドが定義されたファイルを読み込む必要があるため、
irbのようなファイルを介さない対話的環境では動作しません。
@param proc Procもしくはメソッドオブジェクトを指定します。
//emlist[][ruby]{
pp RubyVM::AbstractSyntaxTree.of(proc {1 + 2})
# => (SCOPE@2:38-2:45
# tbl: []
# args: nil
# body:
# (OPCALL@2:... -
RubyVM
:: InstructionSequence . load _ from _ binary(binary) -> RubyVM :: InstructionSequence (18643.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 (18607.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 ... -
RubyVM
:: InstructionSequence (18319.0) -
Ruby の Virtual Machine のコンパイル済みの命令シーケンスを表すクラスです。
Ruby の Virtual Machine のコンパイル済みの命令シーケンスを表すクラスです。
Method、Proc オブジェクトや Ruby のソースコードを表す文字列
から VM の命令シーケンスを得る事ができます。また、
RubyVM::InstructionSequence オブジェクトを元に命令シーケンスを読みやす
い文字列に変換する事もできます。Ruby の命令シーケンスコンパイラの設定を
扱う必要がありますが、Ruby の VM がどのように働くかを知るのに有用です。
VM の命令シーケンスの一覧はRuby のソースコード中の insns.def から参照で
きます。
... -
RubyVM
:: AbstractSyntaxTree (18103.0) -
Ruby のコードをパースして得られる抽象構文木を扱うモジュールです。
Ruby のコードをパースして得られる抽象構文木を扱うモジュールです。
抽象構文木はRubyVM::AbstractSyntaxTree::Nodeクラスのインスタンスとして表されます。
このモジュールはMRIの抽象構文木の実装の詳細を表します。
このモジュールは実験的であり、安定したAPIではないため、
予告なしに変更される可能性があります。
例えば、子要素の順序は保証されておらず、
子要素の数は変更される可能性があります。
また子要素に名前でアクセスする方法は提供されていません。
もし安定したAPIやMRI以外の実装で抽象構文木を扱いたい場合、
parser gem (https... -
RubyVM
:: MJIT (18103.0) -
Ruby の JIT 関連のモジュールです。
Ruby の JIT 関連のモジュールです。 -
RubyVM
:: InstructionSequence # to _ a -> Array (18079.0) -
self の情報を 14 要素の配列にして返します。
self の情報を 14 要素の配列にして返します。
命令シーケンスを以下の情報で表します。
: magic
データフォーマットを示す文字列。常に
"YARVInstructionSequence/SimpleDataFormat"。
: major_version
命令シーケンスのメジャーバージョン。
: minor_version
命令シーケンスのマイナーバージョン。
: format_type
データフォーマットを示す数値。常に 1。
: misc
以下の要素から構成される Hash オブジェクト。
:arg_size: メソッド、ブ... -
RubyVM
:: InstructionSequence # to _ binary(extra _ data = nil) -> String (18079.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
:: AbstractSyntaxTree :: Node # children -> Array (18043.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 # first _ column -> Integer (18043.0) -
ソースコード中で、self を表すテキストが最初に現れる列番号を返します。
ソースコード中で、self を表すテキストが最初に現れる列番号を返します。
列番号は0-originで、バイト単位で表されます。
//emlist[][ruby]{
node = RubyVM::AbstractSyntaxTree.parse('1 + 2')
p node.first_column # => 0
//} -
RubyVM
:: AbstractSyntaxTree :: Node # first _ lineno -> Integer (18043.0) -
ソースコード中で、self を表すテキストが最初に現れる行番号を返します。
ソースコード中で、self を表すテキストが最初に現れる行番号を返します。
行番号は1-originです。
//emlist[][ruby]{
node = RubyVM::AbstractSyntaxTree.parse('1 + 2')
p node.first_lineno # => 1
//} -
RubyVM
:: AbstractSyntaxTree :: Node # inspect -> String (18043.0) -
self のデバッグ用の情報を含んだ文字列を返します。
self のデバッグ用の情報を含んだ文字列を返します。
//emlist[][ruby]{
node = RubyVM::AbstractSyntaxTree.parse('1 + 1')
puts node.inspect
# => #<RubyVM::AbstractSyntaxTree::Node:SCOPE@1:0-1:5>
//} -
RubyVM
:: AbstractSyntaxTree :: Node # last _ column -> Integer (18043.0) -
ソースコード中で、self を表すテキストが最後に現れる列番号を返します。
ソースコード中で、self を表すテキストが最後に現れる列番号を返します。
列番号は0-originで、バイト単位で表されます。
//emlist[][ruby]{
node = RubyVM::AbstractSyntaxTree.parse('1 + 1')
p node.last_column # => 5
//} -
RubyVM
:: AbstractSyntaxTree :: Node # last _ lineno -> Integer (18043.0) -
ソースコード中で、self を表すテキストが最後に現れる行番号を返します。
ソースコード中で、self を表すテキストが最後に現れる行番号を返します。
行番号は1-originです。
//emlist[][ruby]{
node = RubyVM::AbstractSyntaxTree.parse('1 + 1')
p node.last_lineno # => 1
//} -
RubyVM
:: AbstractSyntaxTree :: Node # type -> Symbol (18043.0) -
self の種類を Symbol で返します。
self の種類を Symbol で返します。
//emlist[][ruby]{
node = RubyVM::AbstractSyntaxTree.parse('1 + 1')
p node.type # => :SCOPE
//} -
RubyVM
:: DEFAULT _ PARAMS -> {Symbol => Integer} (18043.0) -
RubyVM のデフォルトのパラメータを返します。
RubyVM のデフォルトのパラメータを返します。
[注意] この値は C Ruby 固有のものです。変更しても RubyVM の動作に
は影響しません。また、仕様は変更される場合があるため、この値に依存すべ
きではありません。 -
RubyVM
:: InstructionSequence # inspect -> String (18043.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 (18043.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 (18043.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
:: AbstractSyntaxTree :: Node (18007.0) -
RubyVM::AbstractSyntaxTree.parse によって作られる抽象構文木を表すクラスです。
RubyVM::AbstractSyntaxTree.parse によって作られる抽象構文木を表すクラスです。
このクラスは MRI の実装の詳細を表します。 -
RubyVM
:: INSTRUCTION _ NAMES -> [String] (18007.0) -
RubyVM の命令シーケンスの名前の一覧を返します。
RubyVM の命令シーケンスの名前の一覧を返します。
@see RubyVM::InstructionSequence -
RubyVM
:: InstructionSequence # absolute _ path -> String | nil (18007.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 (18007.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 (18007.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 (18007.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 # eval -> object (18007.0) -
self の命令シーケンスを評価してその結果を返します。
self の命令シーケンスを評価してその結果を返します。
RubyVM::InstructionSequence.compile("1 + 2").eval # => 3 -
RubyVM
:: InstructionSequence # first _ lineno -> Integer (18007.0) -
self が表す命令シーケンスの 1 行目の行番号を返します。
self が表す命令シーケンスの 1 行目の行番号を返します。
例1:irb で実行した場合
RubyVM::InstructionSequence.compile('num = 1 + 2').first_lineno
# => 1
例2:
# /tmp/method.rb
require "foo-library"
def foo
p :foo
end
RubyVM::InstructionSequence.of(method(:foo)).first_lineno
# => 2 -
RubyVM
:: InstructionSequence # label -> String (18007.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 (18007.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
:: InstructionSequence . compile _ option=(options) (18007.0) -
命令シーケンスのコンパイル時のデフォルトの最適化オプションを引数 options で指定します。
命令シーケンスのコンパイル時のデフォルトの最適化オプションを引数
options で指定します。
@param options コンパイル時の最適化オプションを true、false、nil、
Hash のいずれかで指定します。true を指定した場合は
全てのオプションを有効にします。false を指定した場合は全
てのオプションを無効にします。nil を指定した場合はいずれ
のオプションも変更しません。また、Hash を指定した
場合は以... -
RubyVM
:: InstructionSequence . disasm(body) -> String (18007.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 (18007.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
:: MJIT . enabled? -> bool (18007.0) -
JIT が有効かどうかを返します。
JIT が有効かどうかを返します。
@see RubyVM::MJIT.pause, RubyVM::MJIT.resume -
RubyVM
:: MJIT . pause(wait: true) -> bool (18007.0) -
MJIT を一時停止します。
MJIT を一時停止します。
@param wait 真のときは JIT キューが空になるまで待ちます。
@return 停止したときは true を、すでに停止していたときは false を返します。
@raise RuntimeError JIT が有効ではないときに発生します。
@see RubyVM::MJIT.enabled?, RubyVM::MJIT.resume -
RubyVM
:: MJIT . resume -> bool (18007.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
:: OPTS -> [String] (18007.0) -
RubyVM のビルドオプションの一覧を返します。
RubyVM のビルドオプションの一覧を返します。 -
Array
# pack(template) -> String (3571.0) -
配列の内容を template で指定された文字列にしたがって、 バイナリとしてパックした文字列を返します。
...# NaN
[1.0/0.0].pack("f") # => "\x7F\x80\x00\x00" # +Infinity
[-1.0/0.0].pack("f") # => "\xFF\x80\x00\x00" # -Infinity
//}
VAX (NetBSD 3.0) (非IEEE754):
//emlist[][ruby]{
[1.0].pack("f") # => "\x80@\x00\x00"
//}
: d
倍精度浮動小数点数(機種依存)
x86_64 (IEEE754 倍......"\x7F\xF0\x00\x00\x00\x00\x00\x00" # +Infinity
[-1.0/0.0].pack("d") # => "\xFF\xF0\x00\x00\x00\x00\x00\x00" # -Infinity
//}
VAX (NetBSD 3.0) (非IEEE754):
//emlist[][ruby]{
[1.0].pack("d") # => "\x80@\x00\x00\x00\x00\x00\x00"
//}
: e
リトルエンディアンの単精度浮動小... -
Array
# pack(template , buffer: String . new) -> String (3571.0) -
配列の内容を template で指定された文字列にしたがって、 バイナリとしてパックした文字列を返します。
...# NaN
[1.0/0.0].pack("f") # => "\x7F\x80\x00\x00" # +Infinity
[-1.0/0.0].pack("f") # => "\xFF\x80\x00\x00" # -Infinity
//}
VAX (NetBSD 3.0) (非IEEE754):
//emlist[][ruby]{
[1.0].pack("f") # => "\x80@\x00\x00"
//}
: d
倍精度浮動小数点数(機種依存)
x86_64 (IEEE754 倍......"\x7F\xF0\x00\x00\x00\x00\x00\x00" # +Infinity
[-1.0/0.0].pack("d") # => "\xFF\xF0\x00\x00\x00\x00\x00\x00" # -Infinity
//}
VAX (NetBSD 3.0) (非IEEE754):
//emlist[][ruby]{
[1.0].pack("d") # => "\x80@\x00\x00\x00\x00\x00\x00"
//}
: e
リトルエンディアンの単精度浮動小... -
String
# unpack(template) -> Array (3535.0) -
Array#pack で生成された文字列を テンプレート文字列 template にしたがってアンパックし、 それらの要素を含む配列を返します。
...# NaN
[1.0/0.0].pack("f") # => "\x7F\x80\x00\x00" # +Infinity
[-1.0/0.0].pack("f") # => "\xFF\x80\x00\x00" # -Infinity
//}
VAX (NetBSD 3.0) (非IEEE754):
//emlist[][ruby]{
[1.0].pack("f") # => "\x80@\x00\x00"
//}
: d
倍精度浮動小数点数(機種依存)
x86_64 (IEEE754 倍......"\x7F\xF0\x00\x00\x00\x00\x00\x00" # +Infinity
[-1.0/0.0].pack("d") # => "\xFF\xF0\x00\x00\x00\x00\x00\x00" # -Infinity
//}
VAX (NetBSD 3.0) (非IEEE754):
//emlist[][ruby]{
[1.0].pack("d") # => "\x80@\x00\x00\x00\x00\x00\x00"
//}
: e
リトルエンディアンの単精度浮動小... -
GC (2407.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 (1231.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 (1195.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 (1195.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] (967.0) -
Rubyライブラリをロードするときの検索パスです。
Rubyライブラリをロードするときの検索パスです。
Kernel.#load や Kernel.#require
がファイルをロードする時に検索するディレクトリのリストを含む配列です。
起動時にはコマンドラインオプション -I で指定したディレクトリ、
環境変数 RUBYLIB の値、
コンパイル時に指定したデフォルト値
をこの順番で含みます。
以下に典型的な UNIX システム上でのロードパスを示します。
-I で指定したパス
環境変数 RUBYLIB の値
/usr/local/lib/ruby/site_ruby/VERSION サイト固有、バージョン依... -
Kernel
$ $ : -> [String] (967.0) -
Rubyライブラリをロードするときの検索パスです。
Rubyライブラリをロードするときの検索パスです。
Kernel.#load や Kernel.#require
がファイルをロードする時に検索するディレクトリのリストを含む配列です。
起動時にはコマンドラインオプション -I で指定したディレクトリ、
環境変数 RUBYLIB の値、
コンパイル時に指定したデフォルト値
をこの順番で含みます。
以下に典型的な UNIX システム上でのロードパスを示します。
-I で指定したパス
環境変数 RUBYLIB の値
/usr/local/lib/ruby/site_ruby/VERSION サイト固有、バージョン依... -
Kernel
$ $ LOAD _ PATH -> [String] (967.0) -
Rubyライブラリをロードするときの検索パスです。
Rubyライブラリをロードするときの検索パスです。
Kernel.#load や Kernel.#require
がファイルをロードする時に検索するディレクトリのリストを含む配列です。
起動時にはコマンドラインオプション -I で指定したディレクトリ、
環境変数 RUBYLIB の値、
コンパイル時に指定したデフォルト値
をこの順番で含みます。
以下に典型的な UNIX システム上でのロードパスを示します。
-I で指定したパス
環境変数 RUBYLIB の値
/usr/local/lib/ruby/site_ruby/VERSION サイト固有、バージョン依... -
TracePoint
# instruction _ sequence -> RubyVM :: InstructionSequence (643.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... -
Kernel
. # spawn(env , program , *args , options={}) -> Integer (625.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 (625.0) -
引数を外部コマンドとして実行しますが、生成した 子プロセスの終了を待ち合わせません。生成した子プロセスのプロセスIDを返します。
引数を外部コマンドとして実行しますが、生成した
子プロセスの終了を待ち合わせません。生成した子プロセスのプロセスIDを返します。
env に Hash を渡すことで、exec(2) で子プロセス内で
ファイルを実行する前に環境変数を変更することができます。
Hash のキーは環境変数名文字列、Hash の値に設定する値とします。
nil とすることで環境変数が削除(unsetenv(3))されます。
//emlist[例][ruby]{
# FOO を BAR にして BAZ を削除する
pid = spawn({"FOO"=>"BAR", "BAZ"=>nil}, command)
//... -
File
. basename(filename , suffix = "") -> String (547.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... -
Range (403.0)
-
範囲オブジェクトのクラス。 範囲オブジェクトは文字どおり何らかの意味での範囲を表します。数の範囲はもちろん、 日付の範囲や、「"a" から "z" まで」といった文字列の範囲を表すこともできます。
範囲オブジェクトのクラス。
範囲オブジェクトは文字どおり何らかの意味での範囲を表します。数の範囲はもちろん、
日付の範囲や、「"a" から "z" まで」といった文字列の範囲を表すこともできます。
==== 作り方
範囲オブジェクトは、Range.new を用いるほか、範囲演算子(`..' または `...')を
用いた d:spec/operator#range で生成できます。
いずれの方法でも始端と終端を与えます。
//emlist[範囲オブジェクトの例][ruby]{
Range.new(1, 5) # 1 以上 5 以下
1..5 # 同上
1...5 ... -
String
# split(sep = $ ; , limit = 0) -> [String] (331.0) -
第 1 引数 sep で指定されたセパレータによって文字列を limit 個まで分割し、 結果を文字列の配列で返します。 ブロックを指定すると、配列を返す代わりに分割した文字列で ブロックを呼び出します。
第 1 引数 sep で指定されたセパレータによって文字列を limit 個まで分割し、
結果を文字列の配列で返します。
ブロックを指定すると、配列を返す代わりに分割した文字列で
ブロックを呼び出します。
第 1 引数 sep は以下のいずれかです。
: 正規表現
正規表現にマッチする部分で分割する。
特に、括弧によるグルーピングがあればそのグループにマッチした
文字列も結果の配列に含まれる (後述)。
: 文字列
その文字列自体にマッチする部分で分割する。
: 1 バイトの空白文字 ' '
先頭の連続する空白を除いたうえで、連続する空白で分割する... -
String
# split(sep = $ ; , limit = 0) {|s| . . . } -> self (331.0) -
第 1 引数 sep で指定されたセパレータによって文字列を limit 個まで分割し、 結果を文字列の配列で返します。 ブロックを指定すると、配列を返す代わりに分割した文字列で ブロックを呼び出します。
第 1 引数 sep で指定されたセパレータによって文字列を limit 個まで分割し、
結果を文字列の配列で返します。
ブロックを指定すると、配列を返す代わりに分割した文字列で
ブロックを呼び出します。
第 1 引数 sep は以下のいずれかです。
: 正規表現
正規表現にマッチする部分で分割する。
特に、括弧によるグルーピングがあればそのグループにマッチした
文字列も結果の配列に含まれる (後述)。
: 文字列
その文字列自体にマッチする部分で分割する。
: 1 バイトの空白文字 ' '
先頭の連続する空白を除いたうえで、連続する空白で分割する... -
File
. fnmatch(pattern , path , flags = 0) -> bool (295.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 (295.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... -
Kernel
. # lambda { . . . } -> Proc (295.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 (295.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... -
Proc (295.0)
-
ブロックをコンテキスト(ローカル変数のスコープやスタックフ レーム)とともにオブジェクト化した手続きオブジェクトです。
ブロックをコンテキスト(ローカル変数のスコープやスタックフ
レーム)とともにオブジェクト化した手続きオブジェクトです。
Proc は ローカル変数のスコープを導入しないことを除いて
名前のない関数のように使えます。ダイナミックローカル変数は
Proc ローカルの変数として使えます。
Proc がローカル変数のスコープを保持していることは以下の例で
変数 var を参照できていることからわかります。
//emlist[例][ruby]{
var = 1
$foo = Proc.new { var }
var = 2
def foo
$foo.call
end
p foo ... -
Regexp
# match(str , pos = 0) -> MatchData | nil (295.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 (295.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) #... -
String (295.0)
-
文字列のクラスです。 ヌル文字を含む任意のバイト列を扱うことができます。 文字列の長さにはメモリ容量以外の制限はありません。
文字列のクラスです。
ヌル文字を含む任意のバイト列を扱うことができます。
文字列の長さにはメモリ容量以外の制限はありません。
文字列は通常、文字列リテラルを使って生成します。
以下に文字列リテラルの例をいくつか示します。
//emlist[文字列リテラルの例][ruby]{
'str\\ing' # シングルクオート文字列 (エスケープシーケンスがほぼ無効)
"string\n" # ダブルクオート文字列 (エスケープシーケンスがすべて有効)
%q(str\\ing) # 「%q」文字列 (エスケープシーケンスがほぼ無効、デリミタが変えられる)
%Q(string\n) # 「%Q... -
Errno
:: EXXX (283.0) -
システム依存のエラーコードのそれぞれに対応する一連の例外クラスです。 Rubyのライブラリ内部でシステムコールや一部のC言語関数が失敗したときに発生します。
システム依存のエラーコードのそれぞれに対応する一連の例外クラスです。
Rubyのライブラリ内部でシステムコールや一部のC言語関数が失敗したときに発生します。
実際には「EXXX」というクラスが定義されているわけではありません。「XXX」の部分は下記に列挙したような各種のエラー名が入ります。
例えば、File.open の内部でシステムコール open(2) がエラーコード ENOENT を返すと、Rubyは例外 Errno::ENOENT を発生させます。
Ruby は処理系がコンパイルされるときに、デフォルトで下記リストのような Errno::EXXX クラスを定義しようとします。
動作... -
Enumerable
# chunk {|elt| . . . } -> Enumerator (259.0) -
要素を前から順にブロックで評価し、その結果によって 要素をチャンクに分けた(グループ化した)要素を持つ Enumerator を返します。
要素を前から順にブロックで評価し、その結果によって
要素をチャンクに分けた(グループ化した)要素を持つ
Enumerator を返します。
ブロックの評価値が同じ値が続くものを一つのチャンクとして
取り扱います。すなわち、ブロックの評価値が一つ前と
異なる所でチャンクが区切られます。
返り値の Enumerator は各チャンクのブロック評価値と
各チャンクの要素を持つ配列のペアを各要素とします。
そのため、eachだと以下のようになります。
//emlist[][ruby]{
enum.chunk {|elt| key }.each {|key, ary| do_something ... -
Regexp
. union(*pattern) -> Regexp (259.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 (259.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 (259.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
. # exit!(status = false) -> () (235.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) -> () (235.0) -
Rubyプログラムの実行を終了します。status として整 数が与えられた場合、その値を Ruby コマンドの終了ステータスとします。 デフォルトの終了ステータスは 0(正常終了)です。
Rubyプログラムの実行を終了します。status として整
数が与えられた場合、その値を Ruby コマンドの終了ステータスとします。
デフォルトの終了ステータスは 0(正常終了)です。
status が true の場合 0、 false の場合 1 を引数に指定したとみなされます。この値はCレベルの定数
EXIT_SUCCESS、EXIT_FAILURE の値なので、正確には環境依存です。
exit は例外 SystemExit を発生させ
ることによってプログラムの実行を終了させますので、
必要に応じて begin 節で捕捉することができます。
@param status 終了... -
Kernel
. # system(command , options={}) -> bool | nil (235.0) -
引数を外部コマンドとして実行して、成功した時に真を返します。
引数を外部コマンドとして実行して、成功した時に真を返します。
子プロセスが終了ステータス 0 で終了すると成功とみなし true を返します。
それ以外の終了ステータスの場合は false を返します。
コマンドを実行できなかった場合は nil を返します。
options で :exception に true を指定することで、
nil や false を返す代わりに例外を発生するようにできます。
終了ステータスは変数 $? で参照できます。
コマンドを実行することができなかった場合、多くのシェルはステータス
127 を返します。シェルを介さない場合は Ruby の子プロセスがス... -
Kernel
. # system(env , command , options={}) -> bool | nil (235.0) -
引数を外部コマンドとして実行して、成功した時に真を返します。
引数を外部コマンドとして実行して、成功した時に真を返します。
子プロセスが終了ステータス 0 で終了すると成功とみなし true を返します。
それ以外の終了ステータスの場合は false を返します。
コマンドを実行できなかった場合は nil を返します。
options で :exception に true を指定することで、
nil や false を返す代わりに例外を発生するようにできます。
終了ステータスは変数 $? で参照できます。
コマンドを実行することができなかった場合、多くのシェルはステータス
127 を返します。シェルを介さない場合は Ruby の子プロセスがス... -
Struct
. new(*args , keyword _ init: false) -> Class (229.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: false) {|subclass| block } -> Class (229.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 を指定できるのは後方互換... -
Object
# hash -> Integer (223.0) -
オブジェクトのハッシュ値を返します。このハッシュ値は、Object#eql? と合わせて Hash クラスで、2つのオブジェクトを同一のキーとするか判定するために用いられます。
オブジェクトのハッシュ値を返します。このハッシュ値は、Object#eql? と合わせて Hash クラスで、2つのオブジェクトを同一のキーとするか判定するために用いられます。
2つのオブジェクトのハッシュ値が異なるとき、直ちに異なるキーとして判定されます。
逆に、2つのハッシュ値が同じとき、さらに Object#eql? での比較により判定されます。
そのため、同じキーとして判定される状況は Object#eql? の比較で真となる場合のみであり、このとき前段階としてハッシュ値どうしが等しい必要があります。
つまり、
A.eql?(B) ならば A.hash == B.hash
... -
Object
# object _ id -> Integer (223.0) -
各オブジェクトに対して一意な整数を返します。あるオブジェクトに対し てどのような整数が割り当てられるかは不定です。
各オブジェクトに対して一意な整数を返します。あるオブジェクトに対し
てどのような整数が割り当てられるかは不定です。
Rubyでは、(Garbage Collectされていない)アクティブなオブジェクト間で
重複しない整数(object_id)が各オブジェクトにひとつずつ割り当てられています。この
メソッドはその値を返します。
TrueClass, FalseClass, NilClass, Symbol, Integer クラス
のインスタンスなど Immutable(変更不可)なオブジェクトの一部は同じ内容ならば必ず同じ object_id になります。
これは、Immutable ... -
TracePoint
. new(*events) {|obj| . . . } -> TracePoint (223.0) -
新しい TracePoint オブジェクトを作成して返します。トレースを有効 にするには TracePoint#enable を実行してください。
新しい TracePoint オブジェクトを作成して返します。トレースを有効
にするには TracePoint#enable を実行してください。
//emlist[例:irb で実行した場合][ruby]{
trace = TracePoint.new(:call) do |tp|
p [tp.lineno, tp.defined_class, tp.method_id, tp.event]
end
# => #<TracePoint:0x007f17372cdb20>
trace.enable
# => false
puts "Hello, TracePoint!"
# .... -
Kernel
. # require(feature) -> bool (211.0) -
Ruby ライブラリ feature をロードします。拡張子補完を行い、 同じファイルの複数回ロードはしません。
Ruby ライブラリ feature をロードします。拡張子補完を行い、
同じファイルの複数回ロードはしません。
feature が絶対パスのときは feature からロードします。
feature が相対パスのときは組み込み変数 $:
に示されるパスを順番に探し、最初に見付かったファイルを
ロードします。このとき、$: の要素文字列の先頭文字が
`~' (チルダ) だと、環境変数 HOME の値に展開されます。
また `~USER' はそのユーザのホームディレクトリに展開されます。
Ruby ライブラリとは Ruby スクリプト (*.rb) か拡張ライブラリ
(*.so,*.o,*... -
Kernel
. # set _ trace _ func(proc) -> Proc (211.0) -
Ruby インタプリタのイベントをトレースする Proc オブジェクトとして 指定された proc を登録します。 nil を指定するとトレースがオフになります。
Ruby インタプリタのイベントをトレースする Proc オブジェクトとして
指定された proc を登録します。 nil を指定するとトレースがオフになります。
Ruby インタプリタがプログラムを実行する過程で、メソッドの呼び出しや
式の評価などのイベントが発生する度に、以下で説明する6個の引数とともに
登録された Proc オブジェクトを実行します。
標準添付の debug、tracer、
profile はこの組み込み関数を利用して実現されています。
=== ブロックパラメータの意味
渡す Proc オブジェクトのパラメータは
//emlist[][ruby]{
proc{|... -
Thread
:: Backtrace :: Location (211.0) -
Ruby のフレームを表すクラスです。
Ruby のフレームを表すクラスです。
Kernel.#caller_locations から生成されます。
//emlist[例1][ruby]{
# caller_locations.rb
def a(skip)
caller_locations(skip)
end
def b(skip)
a(skip)
end
def c(skip)
b(skip)
end
c(0..2).map do |call|
puts call.to_s
end
//}
例1の実行結果:
caller_locations.rb:2:in `a'
caller_locations... -
Object
# taint -> self (199.0) -
何もせずに self を返します。 このメソッドは Ruby 2.7 から deprecated で、Ruby 3.2 で削除予定です。
何もせずに self を返します。
このメソッドは Ruby 2.7 から deprecated で、Ruby 3.2 で削除予定です。
@see Object#tainted?,Object#untaint,Object#freeze -
Object
# trust -> self (199.0) -
このメソッドは Ruby 2.1 から deprecated で、Ruby 3.2 で削除予定です。 Object#untaint と同じ動作をします。
このメソッドは Ruby 2.1 から deprecated で、Ruby 3.2 で削除予定です。
Object#untaint と同じ動作をします。
@see Object#untrusted?,Object#untrust -
Object
# untrust -> self (199.0) -
このメソッドは Ruby 2.1 から deprecated で、Ruby 3.2 で削除予定です。 Object#taint と同じ動作をします。
このメソッドは Ruby 2.1 から deprecated で、Ruby 3.2 で削除予定です。
Object#taint と同じ動作をします。
@see Object#trust,Object#untrusted? -
Object
# untrusted? -> false (199.0) -
このメソッドは Ruby 2.1 から deprecated で、Ruby 3.2 で削除予定です。 Object#tainted? と同じ動作をします。
このメソッドは Ruby 2.1 から deprecated で、Ruby 3.2 で削除予定です。
Object#tainted? と同じ動作をします。
@see Object#trust,Object#untrust