るりまサーチ

最速Rubyリファレンスマニュアル検索!
77件ヒット [1-77件を表示] (0.404秒)
トップページ > クエリ:_builtin[x] > ライブラリ:ビルトイン[x] > クエリ:E[x] > クエリ:attr_accessor[x]

別のキーワード

  1. _builtin new
  2. _builtin inspect
  3. _builtin []
  4. _builtin to_s
  5. _builtin each

クラス

キーワード

検索結果

Module#attr_accessor(*name) -> [Symbol] (32215.0)

インスタンス変数 name に対する読み取りメソッドと書き込みメソッドの両方を 定義します。

...変数 name に対する読み取りメソッドと書き込みメソッドの両方を
定義します。

//emlist[例][ruby]{
class User
attr_accessor
:name # => [:name, :name=]
# 複数の名前を渡すこともできる
attr_accessor
:id, :age # => [:id, :id=, :age, :age=]
e
nd
//}

...
...ドで定義されるメソッドの定義は以下の通りです。

//emlist[例][ruby]{
def name
@name
e
nd
def name=(val)
@name = val
e
nd
//}

@param name String または Symbol を 1 つ以上指定します。
@return 定義されたメソッド名を Symbol の配列で返します。...

Module#attr_accessor(*name) -> nil (32203.0)

インスタンス変数 name に対する読み取りメソッドと書き込みメソッドの両方を 定義します。

...変数 name に対する読み取りメソッドと書き込みメソッドの両方を
定義します。


このメソッドで定義されるメソッドの定義は以下の通りです。

//emlist[例][ruby]{
def name
@name
e
nd
def name=(val)
@name = val
e
nd
//}

@param name String また...

Object#initialize_copy(obj) -> object (14108.0)

(拡張ライブラリによる) ユーザ定義クラスのオブジェクトコピーの初期化メソッド。

...期化メソッド。

このメソッドは self を obj の内容で置き換えます。ただ
し、self のインスタンス変数や特異メソッドは変化しません。
Object#clone, Object#dupの内部で使われています。

initialize_copy は、Ruby インタプリタが知り...
...itialize_copy でコピーするよう定義しておくことで、dup や clone
を再定義する必要がなくなります。

デフォルトの Object#initialize_copy は、 freeze チェックおよび型のチェックを行い self
を返すだけのメソッドです。

initialize_copy...
...ッドは
自動的に private に設定されます。

@raise TypeError レシーバが freeze されているか、obj のクラスがレシーバ
のクラスと異なる場合に発生します。
@see Object#clone,Object#dup

以下に例として、dup や clone がこのメソッドをど...

Thread::Backtrace::Location#absolute_path -> String (14108.0)

self が表すフレームの絶対パスを返します。

...self が表すフレームの絶対パスを返します。

//emlist[例][ruby]{
# foo.rb
class Foo
attr_accessor
:locations
def initialize(skip)
@locations = caller_locations(skip)
e
nd
e
nd

Foo.new(0..2).locations.map do |call|
puts call.absolute_path
e
nd

# => /path/to/foo.rb
# /path...
.../to/foo.rb
# /path/to/foo.rb
//}

@see Thread::Backtrace::Location#path...

Thread::Backtrace::Location#base_label -> String (14108.0)

self が表すフレームの基本ラベルを返します。通常、 Thread::Backtrace::Location#label から修飾を取り除いたもので構成 されます。

...self が表すフレームの基本ラベルを返します。通常、
Thread::Backtrace::Location#label から修飾を取り除いたもので構成
されます。

//emlist[例][ruby]{
# foo.rb
class Foo
attr_accessor
:locations
def initialize(skip)
@locations = caller_locations(skip)...
...end
e
nd

Foo.new(0..2).locations.map do |call|
puts call.base_label
e
nd

# => initialize
# new
# <main>
//}

@see Thread::Backtrace::Location#label...

絞り込み条件を変える

Thread::Backtrace::Location#inspect -> String (14108.0)

Thread::Backtrace::Location#to_s の結果を人間が読みやすいような文 字列に変換したオブジェクトを返します。

...Thread::Backtrace::Location#to_s の結果を人間が読みやすいような文
字列に変換したオブジェクトを返します。

//emlist[例][ruby]{
# foo.rb
class Foo
attr_accessor
:locations
def initialize(skip)
@locations = caller_locations(skip)
e
nd
e
nd

Foo.new(0..2).loc...
...ations.map do |call|
puts call.inspect
e
nd

# => "path/to/foo.rb:5:in `initialize'"
# "path/to/foo.rb:9:in `new'"
# "path/to/foo.rb:9:in `<main>'"
//}...

Thread::Backtrace::Location (11008.0)

Ruby のフレームを表すクラスです。

...Kernel.#caller_locations から生成されます。

//emlist[例1][ruby]{
# caller_locations.rb
def a(skip)
caller_locations(skip)
e
nd
def b(skip)
a(skip)
e
nd
def c(skip)
b(skip)
e
nd

c(0..2).map do |call|
puts call.to_s
e
nd
//}

例1の実行結果:

caller_locations.rb:2:in `a'
calle...
...er_locations.rb:8:in `c'

//emlist[例2][ruby]{
# foo.rb
class Foo
attr_accessor
:locations
def initialize(skip)
@locations = caller_locations(skip)
e
nd
e
nd

Foo.new(0..2).locations.map do |call|
puts call.to_s
e
nd
//}

例2の実行結果:

init.rb:4:in `initialize'
init.rb:8:in `ne...
...w'
init.rb:8:in `<main>'

=== 参考

* Ruby VM アドベントカレンダー #4 vm_backtrace.c: https://www.atdot.net/~ko1/diary/201212.html#d4...

Thread::Backtrace::Location#to_s -> String (11008.0)

self が表すフレームを Kernel.#caller と同じ表現にした文字列を返し ます。

...self が表すフレームを Kernel.#caller と同じ表現にした文字列を返し
ます。

//emlist[例][ruby]{
# foo.rb
class Foo
attr_accessor
:locations
def initialize(skip)
@locations = caller_locations(skip)
e
nd
e
nd

Foo.new(0..2).locations.map do |call|
puts call.to_s
e
nd...
...# => path/to/foo.rb:5:in `initialize'
# path/to/foo.rb:9:in `new'
# path/to/foo.rb:9:in `<main>'
//}...