種類
ライブラリ
- English (11)
- ビルトイン (383)
- benchmark (11)
- bigdecimal (7)
- csv (11)
- digest (22)
- etc (1430)
- fcntl (11)
- rake (11)
-
rubygems
/ dependency _ installer (11) -
rubygems
/ specification (11) - set (22)
- singleton (11)
- strscan (11)
- zlib (11)
クラス
- Array (88)
- BasicObject (11)
- BigDecimal (7)
- CSV (11)
-
Digest
:: Base (22) -
Encoding
:: Converter (44) -
Gem
:: DependencyInstaller (11) -
Gem
:: Specification (11) - Hash (89)
- IO (22)
- Object (44)
-
RubyVM
:: InstructionSequence (33) - Set (22)
- String (2)
- StringScanner (11)
オブジェクト
- ENV (6)
キーワード
-
$ > (11) -
$ DEFAULT _ OUTPUT (11) -
$ stderr (11) -
$ stdin (11) -
$ stdout (11) -
1
. 6 . 8から1 . 8 . 0への変更点(まとめ) (11) -
DEFAULT
_ OPTIONS (11) - DUPSETUP (11)
-
F
_ DUPFD (11) - Inflate (11)
-
NEWS for Ruby 2
. 0 . 0 (11) -
NEWS for Ruby 2
. 5 . 0 (7) - Ruby用語集 (11)
-
SC
_ 2 _ CHAR _ TERM (11) -
SC
_ 2 _ C _ BIND (11) -
SC
_ 2 _ C _ DEV (11) -
SC
_ 2 _ FORT _ DEV (11) -
SC
_ 2 _ FORT _ RUN (11) -
SC
_ 2 _ LOCALEDEF (11) -
SC
_ 2 _ PBS (11) -
SC
_ 2 _ PBS _ ACCOUNTING (11) -
SC
_ 2 _ PBS _ CHECKPOINT (11) -
SC
_ 2 _ PBS _ LOCATE (11) -
SC
_ 2 _ PBS _ MESSAGE (11) -
SC
_ 2 _ PBS _ TRACK (11) -
SC
_ 2 _ SW _ DEV (11) -
SC
_ 2 _ UPE (11) -
SC
_ 2 _ VERSION (11) -
SC
_ ADVISORY _ INFO (11) -
SC
_ AIO _ LISTIO _ MAX (11) -
SC
_ AIO _ MAX (11) -
SC
_ AIO _ PRIO _ DELTA _ MAX (11) -
SC
_ ARG _ MAX (11) -
SC
_ ASYNCHRONOUS _ IO (11) -
SC
_ ATEXIT _ MAX (11) -
SC
_ AVPHYS _ PAGES (11) -
SC
_ BARRIERS (11) -
SC
_ BC _ BASE _ MAX (11) -
SC
_ BC _ DIM _ MAX (11) -
SC
_ BC _ SCALE _ MAX (11) -
SC
_ BC _ STRING _ MAX (11) -
SC
_ CHILD _ MAX (11) -
SC
_ CLK _ TCK (11) -
SC
_ CLOCK _ SELECTION (11) -
SC
_ COLL _ WEIGHTS _ MAX (11) -
SC
_ CPUSET _ SIZE (11) -
SC
_ CPUTIME (11) -
SC
_ DELAYTIMER _ MAX (11) -
SC
_ EXPR _ NEST _ MAX (11) -
SC
_ FSYNC (11) -
SC
_ GETGR _ R _ SIZE _ MAX (11) -
SC
_ GETPW _ R _ SIZE _ MAX (11) -
SC
_ HOST _ NAME _ MAX (11) -
SC
_ IOV _ MAX (11) -
SC
_ IPV6 (11) -
SC
_ JOB _ CONTROL (11) -
SC
_ LINE _ MAX (11) -
SC
_ LOGIN _ NAME _ MAX (11) -
SC
_ MAPPED _ FILES (11) -
SC
_ MEMLOCK (11) -
SC
_ MEMLOCK _ RANGE (11) -
SC
_ MEMORY _ PROTECTION (11) -
SC
_ MESSAGE _ PASSING (11) -
SC
_ MONOTONIC _ CLOCK (11) -
SC
_ MQ _ OPEN _ MAX (11) -
SC
_ MQ _ PRIO _ MAX (11) -
SC
_ NGROUPS _ MAX (11) -
SC
_ NPROCESSORS _ CONF (11) -
SC
_ NPROCESSORS _ ONLN (11) -
SC
_ OPEN _ MAX (11) -
SC
_ PAGESIZE (11) -
SC
_ PAGE _ SIZE (11) -
SC
_ PHYS _ PAGES (11) -
SC
_ PRIORITIZED _ IO (11) -
SC
_ PRIORITY _ SCHEDULING (11) -
SC
_ RAW _ SOCKETS (11) -
SC
_ READER _ WRITER _ LOCKS (11) -
SC
_ REALTIME _ SIGNALS (11) -
SC
_ REGEXP (11) -
SC
_ RE _ DUP _ MAX (11) -
SC
_ RTSIG _ MAX (11) -
SC
_ SAVED _ IDS (11) -
SC
_ SEMAPHORES (11) -
SC
_ SEM _ NSEMS _ MAX (11) -
SC
_ SEM _ VALUE _ MAX (11) -
SC
_ SHARED _ MEMORY _ OBJECTS (11) -
SC
_ SHELL (11) -
SC
_ SIGQUEUE _ MAX (11) -
SC
_ SPAWN (11) -
SC
_ SPIN _ LOCKS (11) -
SC
_ SPORADIC _ SERVER (11) -
SC
_ SS _ REPL _ MAX (11) -
SC
_ STREAM _ MAX (11) -
SC
_ SYMLOOP _ MAX (11) -
SC
_ SYNCHRONIZED _ IO (11) -
SC
_ THREADS (11) -
SC
_ THREAD _ ATTR _ STACKADDR (11) -
SC
_ THREAD _ ATTR _ STACKSIZE (11) -
SC
_ THREAD _ CPUTIME (11) -
SC
_ THREAD _ DESTRUCTOR _ ITERATIONS (11) -
SC
_ THREAD _ KEYS _ MAX (11) -
SC
_ THREAD _ PRIORITY _ SCHEDULING (11) -
SC
_ THREAD _ PRIO _ INHERIT (11) -
SC
_ THREAD _ PRIO _ PROTECT (11) -
SC
_ THREAD _ PROCESS _ SHARED (11) -
SC
_ THREAD _ ROBUST _ PRIO _ INHERIT (11) -
SC
_ THREAD _ ROBUST _ PRIO _ PROTECT (11) -
SC
_ THREAD _ SAFE _ FUNCTIONS (11) -
SC
_ THREAD _ SPORADIC _ SERVER (11) -
SC
_ THREAD _ STACK _ MIN (11) -
SC
_ THREAD _ THREADS _ MAX (11) -
SC
_ TIMEOUTS (11) -
SC
_ TIMERS (11) -
SC
_ TIMER _ MAX (11) -
SC
_ TRACE (11) -
SC
_ TRACE _ EVENT _ FILTER (11) -
SC
_ TRACE _ EVENT _ NAME _ MAX (11) -
SC
_ TRACE _ INHERIT (11) -
SC
_ TRACE _ LOG (11) -
SC
_ TRACE _ NAME _ MAX (11) -
SC
_ TRACE _ SYS _ MAX (11) -
SC
_ TRACE _ USER _ EVENT _ MAX (11) -
SC
_ TTY _ NAME _ MAX (11) -
SC
_ TYPED _ MEMORY _ OBJECTS (11) -
SC
_ TZNAME _ MAX (11) -
SC
_ V6 _ ILP32 _ OFF32 (11) -
SC
_ V6 _ ILP32 _ OFFBIG (11) -
SC
_ V6 _ LP64 _ OFF64 (11) -
SC
_ V6 _ LPBIG _ OFFBIG (11) -
SC
_ V7 _ ILP32 _ OFF32 (11) -
SC
_ V7 _ ILP32 _ OFFBIG (11) -
SC
_ V7 _ LP64 _ OFF64 (11) -
SC
_ V7 _ LPBIG _ OFFBIG (11) -
SC
_ VERSION (11) -
SC
_ XOPEN _ CRYPT (11) -
SC
_ XOPEN _ ENH _ I18N (11) -
SC
_ XOPEN _ REALTIME (11) -
SC
_ XOPEN _ REALTIME _ THREADS (11) -
SC
_ XOPEN _ SHM (11) -
SC
_ XOPEN _ STREAMS (11) -
SC
_ XOPEN _ UNIX (11) -
SC
_ XOPEN _ UUCP (11) -
SC
_ XOPEN _ VERSION (11) -
array
_ attributes (11) - bmbm (11)
- clone (69)
- dedup (2)
- disasm (11)
- disassemble (11)
- equal? (11)
- filter! (12)
-
frame
_ dup (11) - freeze (11)
- generate (11)
- hash (11)
-
initialize
_ copy (11) -
irb
/ completion (11) -
keep
_ if (22) - new (44)
-
primitive
_ convert (44) -
rb
_ class _ path (11) -
rb
_ define _ global _ function (11) -
rb
_ mod _ dup (11) -
rb
_ obj _ dup (11) -
rb
_ str _ dup (11) -
rdoc
/ parser / c (11) - replace (11)
-
ruby 1
. 6 feature (11) -
ruby 1
. 8 . 2 feature (11) -
ruby 1
. 8 . 3 feature (11) -
ruby 1
. 8 . 4 feature (11) -
ruby 1
. 9 feature (11) -
scope
_ dup (11) - select! (22)
- set (9)
- shuffle (22)
-
st
_ copy (11) -
to
_ a (11) - クラス/メソッドの定義 (11)
検索結果
先頭5件
-
void rb
_ define _ global _ function(const char *name , VALUE (*func)() , int argc) (42.0) -
関数 name を定義します。 func と argc は rb_define_method と同じです。
...す。
例:
static VALUE
return_obj_dup(VALUE obj)
{
VALUE dup = rb_obj_dup(obj); // オブジェクトを複製
return dup;
}
void Init_func() {
rb_define_global_function("dup_obj", return_obj_dup, 1); // 関数 dup_objを定義しています。
}... -
Object
# initialize _ copy(obj) -> object (36.0) -
(拡張ライブラリによる) ユーザ定義クラスのオブジェクトコピーの初期化メソッド。
...obj の内容で置き換えます。ただ
し、self のインスタンス変数や特異メソッドは変化しません。
Object#clone, Object#dupの内部で使われています。
initialize_copy は、Ruby インタプリタが知り得ない情報をコピーするた
めに使用(定義......保持させない場合がありますが、そういった内部情
報を initialize_copy でコピーするよう定義しておくことで、dup や clone
を再定義する必要がなくなります。
デフォルトの Object#initialize_copy は、 freeze チェックおよび型のチェ......バ
のクラスと異なる場合に発生します。
@see Object#clone,Object#dup
以下に例として、dup や clone がこのメソッドをどのように利用しているかを示します。
obj.dup は、新たに生成したオブジェクトに対して
initialize_copy を呼び
/... -
Object
# clone(freeze: true) -> object (31.0) -
オブジェクトの複製を作成して返します。
...ェクトの複製を作成して返します。
dup はオブジェクトの内容, taint 情報をコピーし、
clone はそれに加えて freeze, 特異メソッドなどの情報も含めた完全な複製を作成します。
clone や dup は浅い(shallow)コピーであることに注......bj_d = obj.dup
p(obj.equal?(obj_d)) #=> false
p(obj == obj_d) #=> true
p(obj_d.tainted?) #=> true
p(obj_d.frozen?) #=> false
p(obj_d.respond_to?(:fuga)) #=> false
//}
@see Object#initialize_copy
=== 深いコピーと浅いコピー
clone や dup はオブ......だしMarshal出来ないオブジェクトが
含まれている場合には使えません。
//emlist[][ruby]{
obj = ["a","b","c"]
obj_d = obj.dup
obj_d[0] << "PLUS"
p obj #=> ["aPLUS", "b", "c"]
p obj_d #=> ["aPLUS", "b", "c"]
obj_m = Marshal.load(Marshal.dump(obj))
obj_m[1] << "PLUS"
p o......j_d = obj.dup
p(obj.equal?(obj_d)) #=> false
p(obj == obj_d) #=> true
p(obj_d.tainted?) #=> false
p(obj_d.frozen?) #=> false
p(obj_d.respond_to?(:fuga)) #=> false
//}
@see Object#initialize_copy
=== 深いコピーと浅いコピー
clone や dup はオブ......オブジェクトの複製を作成して返します。
dup はオブジェクトの内容をコピーし、
clone はそれに加えて freeze, 特異メソッドなどの情報も含めた完全な複製を作成します。
clone や dup は浅い(shallow)コピーであることに注意し......fuga)) #=> true
obj_d = obj.dup
p(obj.equal?(obj_d)) #=> false
p(obj == obj_d) #=> true
p(obj_d.frozen?) #=> false
p(obj_d.respond_to?(:fuga)) #=> false
//}
@see Object#initialize_copy
=== 深いコピーと浅いコピー
clone や dup はオブジェクト自身... -
ruby 1
. 6 feature (24.0) -
ruby 1.6 feature ruby version 1.6 は安定版です。この版での変更はバグ修正がメイン になります。
...x]
[]
=> ruby 1.6.7 (2002-08-01) [i586-linux]
["bar"]
: 2002-06-13 Hash[]
Hash[] で、キーとなる文字列を dup & freeze していませんでした。
a = "key"
h = Hash[a,"val"]
h.keys[0].upcase!
p a
=> ruby 1.6.7 (2......プの dup を close_write するとエラーになっていました。
((<ruby-dev:17155>))
open("|-","r+") {|f|
if f
f.dup.close_write
else
sleep 1
end
}
=> ruby 1.6.7 (2002-03-01) [i586-linux]
-:3:in `close_write': closing non-duplex IO f......rp>)) が返す値が不定だった。
* ((<String/ljust>)), ((<String/rjust>)), ((<String/center>)) の結果に
変化がなくても常に dup した文字列を返すようになった
: 2002-03-08 class variable
((<ruby-talk:35122>))
class C
class << self
def test... -
IO
# clone -> IO (23.0) -
レシーバと同じ IO を参照する新しい IO オブジェクトを返します。 参照しているファイル記述子は dup(2) されます。
...を返します。
参照しているファイル記述子は dup(2) されます。
clone の際に self は一旦 IO#flush されます。
フリーズした IO の clone は同様にフリーズされた IO を返しますが、
dup は内容の等しいフリーズされていない IO を返... -
Set
# clone -> Set (19.0) -
集合を複製して返します。
...集合を複製して返します。
dup は、集合の内容と taint 情報のみコピーします。
clone は、それに加えて、freeze 情報と特異メソッドをコピーします。
いずれも共通して、内部記憶として保持するハッシュもコピーしますが、......集合の要素そのものはコピーしません。
Set クラスでは、dup と clone に共通して、内部記憶として
用いるハッシュも含めて taint 情報をコピーします。
ただし、clone では内部記憶の freeze 情報はコピーされません。
このため......、freeze された集合を clone した場合、生成された集合の要素は
変更可能である点に注意してください。
//emlist[][ruby]{
require 'set'
s1 = Set[10, 20]
s2 = s1.dup
s2 << 30
p s1 # => #<Set: {10, 20}>
p s2 # => #<Set: {10, 20, 30}>
//}
@see Object#clone... -
Hash
# replace(other) -> self (18.0) -
ハッシュの内容を other の内容で置き換えます。
...ります。
otherがハッシュではない場合、otherのメソッドto_hashを使って暗黙の変換を試みます。
self = other.to_hash.dup と同じです。
@param other ハッシュまたはメソッド to_hash でハッシュに変換できるオブジェクトです。
@return sel......{2 => 'B', 3 => 'C'}
foo.replace(bar)
p foo #=> {2=>"B", 3=>"C"}
zoo = {}
zoo = bar.dup
p zoo #=> {2=>"B", 3=>"C"}
class Foo
def to_hash
{:japan => 'kyoto'}
end
end
h = Hash.new
h.replace(Foo.new) #暗黙の変換
p h #=> {:japan=>"kyoto"}
//}
@see Hash#dup,Hash#merge,Object#to_hash... -
Object
# freeze -> self (18.0) -
オブジェクトを凍結(内容の変更を禁止)します。
...ませんが、Object#dup を使えばほぼ同じ内容の凍結されていない
オブジェクトを得ることはできます。
//emlist[][ruby]{
a = [1].freeze
p a.frozen? #=> true
a[0] = "foo"
p a # can't modify frozen Array (RuntimeError)
b = a.dup
p b #=> [......1]
p b.frozen? #=> false
b[0] = "foo"
p b #=> ["foo"]
//}
@see Object#frozen?,Object#dup,Kernel.#trace_var......ませんが、Object#dup を使えばほぼ同じ内容の凍結されていない
オブジェクトを得ることはできます。
//emlist[][ruby]{
a = [1].freeze
p a.frozen? #=> true
a[0] = "foo"
p a # can't modify frozen Array (FrozenError)
b = a.dup
p b #=> [1......]
p b.frozen? #=> false
b[0] = "foo"
p b #=> ["foo"]
//}
@see Object#frozen?,Object#dup,Kernel.#trace_var... -
Array
. new(ary) -> Array (16.0) -
指定された配列 ary を複製して返します。 Array#dup 同様 要素を複製しない浅い複製です。
...指定された配列 ary を複製して返します。
Array#dup 同様 要素を複製しない浅い複製です。
@param ary 複製したい配列を指定します。
//emlist[例][ruby]{
p Array.new([1,2,3]) # => [1,2,3]
a = ["a", "b", "c"]
b = Array.new(a)
a.each{|s| s.capitalize! }
p a... -
Zlib
:: Inflate (16.0) -
入力データを展開するストリームのクラス。Zlib::Deflate と違い、 このクラスのインスタンスを複製 (clone, dup) することはできません。
...入力データを展開するストリームのクラス。Zlib::Deflate と違い、
このクラスのインスタンスを複製 (clone, dup) することはできません。...