●学校情報

講座一覧・募集状況

学習方法

学習サポート

修了生の評価

受講生の横顔

当学院について

入学相談

入学手続

 

●講座情報

技術者養成講座

プログラミング講座

WEB講座

情報処理試験講座

Excel講座

Access講座

 

●関連コラム

関連コラム

関連用語集

 

logo

 

 

関連用語集

Rubyのself(自己参照)とは?使い方と意味をやさしく解説!

Rubyのself(セルフ)とは、「自分自身(現在のオブジェクト)」を表すキーワードです。 self を使うことで、オブジェクト自身のメソッドや変数にアクセスしたり、クラスメソッドを定義したりすることができます。

self の基本

class User
  def initialize(name)
    @name = name
  end

  def greet
    puts "こんにちは、#{self.name}さん!"
  end

  def name
    @name
  end
end

u = User.new("さくら")
u.greet  # → こんにちは、さくらさん!

ここでの self.name は、「自分(インスタンス)に属するnameメソッドを呼び出す」という意味です。

self の役割

  • 現在のインスタンスを参照する(インスタンスメソッド内)
  • 現在のクラスを参照する(クラス定義の外側またはクラスメソッド内)
  • メソッド名の明示的な指定に使われる

インスタンスメソッド内の self

def hello
  puts self
end

インスタンスメソッドの中で self を使うと、そのメソッドを呼び出しているオブジェクト自体を指します。

クラスメソッドの定義に使う self

class Tool
  def self.info
    puts "ツール情報を表示します"
  end
end

Tool.info  # → ツール情報を表示します

クラスの中で def self.メソッド名 と書くことで、クラスメソッドを定義できます。 この場合の selfそのクラス自体を表します。

アクセサメソッド内での self の使い方

class Person
  attr_accessor :name

  def initialize(name)
    self.name = name  # setterメソッド経由で代入
  end
end

self.name = name のように、メソッドとしての代入(setter)を明示的に行う必要があるときに self が必要です。

self の現在地を確認する

puts self  # → main(トップレベル)

トップレベルでの selfmain オブジェクト を指します。 これは Ruby のエントリーポイントのようなものです。

まとめ

Rubyの self(自己参照)は、「現在のオブジェクト」や「現在のクラス」を指す重要なキーワードです。 主に以下の場面で登場します:

  • インスタンスメソッド内で「自分」を表す
  • クラスメソッドを定義するとき
  • アクセサメソッドを呼び出すとき

最初は少し混乱するかもしれませんが、「self = 今このコードが属しているもの」と理解することで、使いこなせるようになります!

 

Ruby関連用語集

−−−−−  Ruby  −−−−−

Rubyのオブジェクト指向とは?クラスやメソッドの仕組みをわかりやすく解説

Rubyのクラス(Class)とは?オブジェクトの設計図を学ぼう

Rubyのモジュール(Module)とは?コードを整理・共有する仕組みを学ぼう!

Rubyのメソッド(Method)とは?定義と使い方をやさしく解説

Rubyのブロック(Block)とは?繰り返しやコールバック処理に使える便利な仕組み

Rubyのイテレータ(Iterator)とは?繰り返し処理の基本をマスターしよう!

RubyのEnumerableモジュールとは?便利な繰り返し処理を一気に習得!

RubyのProc(プロック)とは?ブロックをオブジェクト化して使いこなそう

RubyのLambda(ラムダ)とは?Procとの違いも含めてやさしく解説!

Rubyのシンボル(Symbol)とは?文字列との違いと使いどころをわかりやすく解説

Rubyのハッシュ(Hash)とは?キーと値のペアでデータを扱う基本構造

Rubyの配列(Array)とは?基本構文と便利な操作方法をマスターしよう!

Rubyのスコープ(Scope)とは?変数の見える範囲を理解しよう

Rubyのインスタンス変数(@変数)とは?クラスでデータを保持する基本

Rubyのクラス変数(@@変数)とは?全インスタンスで共有する値を管理する

Rubyの定数(Constant)とは?値を固定するための書き方と使い方

Rubyのグローバル変数($変数)とは?使い方と注意点をやさしく解説

Rubyのself(自己参照)とは?使い方と意味をやさしく解説!

Rubyの継承(Inheritance)とは?コードの再利用と拡張の基本

Rubyのミックスイン(Mixin)とは?モジュールで機能を共有する方法

Rubyのメソッドのオーバーライド(Override)とは?継承したメソッドを再定義しよう

Rubyの例外処理(Exception Handling)とは?エラー発生時の安全な対処法

Rubyのbegin-rescue-end構文とは?エラーを安全に処理する基本構文

Rubyのyield(ブロック呼び出し)とは?ブロックの使い方と柔軟なメソッド設計

Rubyのrequire / loadとは?外部ファイルの読み込み方法と使い分け

Rubyのgem(RubyGems)とは?便利なライブラリの管理方法を解説!

Bundlerとは?Rubyのgemを簡単に管理できる便利ツール

RubyのRakeとは?ビルドやタスクを自動化する便利ツールを解説!

IRB(Interactive Ruby)とは?Rubyを手軽に試せる対話型ツール

Rails(Ruby on Rails)とは?Webアプリ開発の強力フレームワーク