Rubyのクラスとオブジェクトに関する練習問題
Rubyコースの一部として、クラスとオブジェクトに関する実践的な練習問題を45問用意しています。 基礎から応用まで段階的に学習できるよう構成されています。
学習を開始する準備ができました
下記の練習問題から始めて、段階的にスキルアップしていきましょう
Rubyでクラスメソッドを定義するときに、メソッド名の前につけるキーワードは何ですか?
約3分
以下のコードで`self`を省略できないのはどの行ですか? ```ruby class User attr_accessor :name def initialize(name) self.name = name # A end def greet puts "こんにちは、#{self.name}です" # B end end ```
約3分
Rubyでインスタンス変数の値を取得するメソッドを何と呼びますか?
約3分
以下のコードで間違っている部分はどれですか? ```ruby class Book attr_accessor :title def initialize(title) title = title # A end def display puts self.title # B end end ```
約3分
クラス変数の適切な使用例として最も適しているものはどれですか?
約3分
以下のコードで、エラーが発生する行はどれですか? ```ruby class Character attr_reader :hp attr_writer :job def initialize @hp = 100 @job = "戦士" end end hero = Character.new puts hero.hp # 行A hero.job = "魔法使い" # 行B puts hero.job # 行C hero.hp = 200 # 行D ```
約3分
以下のコードで空欄に入る適切なコードはどれですか? ```ruby class Book def set_title(title) ______ = title end def show_title puts ______ end end ```
約3分
`attr_accessor :name`によって自動的に作成されるメソッドはどれですか?
約3分
以下のコードの空欄に入る適切なコードは何ですか? ```ruby class Character def ______(name, hp) @name = name @hp = hp end end hero = Character.new("勇者", 200) ```
約3分
インスタンス変数の正しい命名規則はどれですか?
約3分
Rubyにおけるクラス名の命名規則として正しいものはどれですか?
約3分
クラス変数の最も重要な特徴はどれですか?
約3分
ローカル変数とインスタンス変数の最も大きな違いは何ですか?
約3分
以下のコードの実行結果はどうなりますか? ```ruby class Person attr_accessor :age def initialize(age) self.age = age end def next_year self.age + 1 end end person = Person.new(25) puts person.next_year ```
約3分
以下のコードの空欄に入る正しいメソッドは何ですか? ```ruby name = "Ruby" puts name.______ # => String ```
約3分
クラスメソッドとインスタンスメソッドの違いとして正しいのはどれですか?
約3分
Rubyにおいて、インスタンスが作成されるときに自動的に呼び出される特別なメソッドの名前は何ですか?
約3分
以下のコードで、デフォルト値を持たない引数を省略した場合、何が起こりますか? ```ruby class User def initialize(name, age = 20) @name = name @age = age end end user = User.new ```
約3分
クラス変数と継承に関する説明として正しいものはどれですか?
約3分
以下のコードの実行結果はどうなりますか? ```ruby class User @@user_count = 0 def initialize(name) @name = name @@user_count += 1 end def self.count @@user_count end end user1 = User.new("山田") user2 = User.new("佐藤") puts User.count ```
約3分
Rubyで`self`が表すものは何ですか?
約3分
以下の変数の使い分けとして最も適切なものはどれですか?
約3分
以下のコードで間違っている部分はどれですか? ```ruby class Game def self.start puts "ゲームを開始します" end def self.stop puts "ゲームを終了します" end end game = Game.new game.start ```
約3分
以下のコードでクラスメソッドはどれですか? ```ruby class User def initialize(name) @name = name end def self.count puts "ユーザー数を取得" end def greeting puts "こんにちは#{@name}さん" nend end ```
約3分
複数のインスタンス変数に対してアクセサメソッドを定義する正しい書き方はどれですか?
約3分
以下のコードでエラーが発生する理由は何ですか? ```ruby class Test def method_a name = "太郎" end def method_b puts name end end ```
約3分
initializeメソッドの戻り値について正しい説明はどれですか?
約3分
以下のコードでインスタンスを作成する正しい方法はどれですか? ```ruby class Cat def meow puts "にゃー" end end ```
約3分
以下のコードの実行結果はどうなりますか? ```ruby class Animal def self.species_info "動物の分類情報" end def name "名前未設定" end end puts Animal.species_info ```
約3分
ファクトリーメソッドとして使われるクラスメソッドの主な目的は何ですか?
約3分
インスタンス変数のスコープ(有効範囲)について正しい説明はどれですか?
約3分
同じクラスから作成された複数のインスタンスについて、正しい説明はどれですか?
約3分
以下のコードを実行した場合、`dog2.bark`の出力はどうなりますか? ```ruby class Dog def set_name(name) @name = name end def bark puts "#{@name}:わんわん!" end end dog1 = Dog.new dog1.set_name("ポチ") dog2 = Dog.new dog2.set_name("ハチ") dog1.set_name("新ポチ") dog2.bark ```
約3分
`attr_accessor :name`を定義した場合、自動的に生成されるメソッドはどれですか?
約3分
クラスメソッドの正しい呼び出し方はどれですか?
約3分
Rubyでインスタンス変数を表すには、変数名の前に何を付けますか?
約3分
Rubyにおけるクラス変数の記述方法として正しいものはどれですか?
約3分
以下のコードの実行結果はどうなりますか? ```ruby class Game attr_accessor :score def initialize @score = 0 end end game = Game.new game.score = 1000 puts game.score ```
約3分
以下のコードを実行したとき、2回目の`counter.count_up`の結果はどうなりますか? ```ruby class Counter def count_up local_count = 0 @instance_count = 0 if @instance_count.nil? local_count += 1 @instance_count += 1 puts "local: #{local_count}, instance: #{@instance_count}" end end counter = Counter.new counter.count_up # 1回目 counter.count_up # 2回目 ```
約3分
インスタンス変数の初期値は何ですか?
約3分
以下のコードの実行結果はどうなりますか? ```ruby class Dog def bark puts "わんわん!" end end pochi = Dog.new hachi = Dog.new pochi.bark ```
約3分
以下のコードの実行結果はどうなりますか? ```ruby class Rectangle def initialize(width, height = width) @width = width @height = height @area = @width * @height end def show_area puts @area end end square = Rectangle.new(5) square.show_area ```
約3分
以下のコードを実行したとき、何が表示されますか? ```ruby class Product def initialize(name = "商品", price = 100) @name = name @price = price puts "#{@name}: #{@price}円" end end item = Product.new("りんご") ```
約3分
Rubyにおけるクラスの定義について、正しい説明はどれですか?
約3分
`attr_writer`で定義されたインスタンス変数に対して実行できる操作はどれですか?
約3分
💡 学習のコツ
1
問題を順番に解く
基礎から応用へと段階的に構成されているため、順番に取り組むことをお勧めします
2
解説をしっかり読む
正解・不正解に関わらず、解説を読んで理解を深めましょう
3
復習で定着させる
間違えた問題は後日再チャレンジして、知識の定着を確認しましょう
プレミアムプランでは、進捗管理、間違えた問題の自動復習リスト、詳細な解説動画など、 より充実した学習体験をご利用いただけます。