Rubyがミニツク

あなたのRubyの技術に関するより詳しい知識と理解を増やします。

Ruby入門コース

このコースについて

Rubyのeラーニング研修システムはRailsを使ってWebアプリケーション開発ができる技術者の育成を目指します。 そのため、Railsを扱うことができるだけのRubyの知識を得ることがRuby入門コースの目標となっています。

コンテンツ一覧

ヒント レッスンの名前をクリックすると、その内容を表示します。

次のレッスン ホームへ戻る

クラスとモジュール1レッスンのドリル

コンテンツ概要

この問題集を学習して、Ruby入門コースのクラスとモジュール1のレッスンの重要ポイントを覚えましょう。学習対象はクラスのインスタンスについて、アクセスメソッド、インスタンスメソッド・クラスメソッドの定義です。

このドリルは10問の問題があります。


はじめる

問題

以下のコードの(A)に入れて実行しても、エラーが発生しないものを選択肢の中から選択してください。

class Foo
  (A)
end

foo = Foo.new
foo.meth = "value"

選択肢を選ぶ

(b)

def meth=(arg)
  @value = arg
end

(d)

def meth!(arg)
  @value = arg
end

(a)

def meth(arg)
  @value = arg
end

(c)

def meth?(arg)
  @value = arg
end


次の問題へ進む

問題

以下のコードの(A)に選択肢の中から選択して入れ、正常に動作するものを選択してください。

class Foo
  class << Foo
    def foo
      p "foo"
    end
  end
end

(A).foo

選択肢を選ぶ

(d) class

(c) Foo

(a) foo

(b) "foo"


次の問題へ進む

問題

以下の出力結果を返すコードとして正しいものを選択肢から選択してください。

出力結果:

String

選択肢を選ぶ

(b)

p [].class

(a)

p Class.class

(c)

p "foo".class

(d)

p String.class


次の問題へ進む

問題

以下のコードを実行した結果、出力結果が返されました。(A)に入るものとして正しいものを選択肢の中から選択してください。

class Person
  def initialize(first_name, last_name)
    @first_name = first_name
    @last_name  = last_name
  end

  def name
    return (A)
  end
end

person = Person.new("Harry", "Potter")
p person.name

出力結果:

"Harry Potter" 

選択肢を選ぶ

(b) @name

(a) "HarryPotter"

(c) @first_name + " " + @last_name

(d) @first_name + @last_name


次の問題へ進む

問題

クラスのインスタンスを生成するメソッドとして正しいものを以下の選択肢の中から選択してください。

選択肢を選ぶ

(c) initialize

(b) attr_reader

(a) new

(d) class


次の問題へ進む

問題

クラスを定義する時にエラーが発生しないものを、以下の選択肢の中から選んでください。

選択肢を選ぶ

(d)

class Foo
end

(a)

klass Foo
end

(b)

class foo
end

(c)

class _Foo
end


次の問題へ進む

問題

以下のコードを実行した時、クラスに定義されたインスタンスメソッドとして正しいものを選択肢の中から選択してください。

class Foo
  def self.Foo
    puts "foo"
  end

  class << Foo
    def bar
      puts "bar"
    end
  end

  def baz
    puts "baz"
  end

  class << self
    def huga
      puts "huga"
    end
  end
end

選択肢を選ぶ

(a) foo

(b) bar

(d) huga

(c) baz


次の問題へ進む

問題

以下のコードの出力結果として正しいものを選択肢から選択してください。

class Foo
  attr_accessor :foo

  def self.foo
    @foo = "foo"
  end
end

Foo.foo
foo = Foo.new
p foo.foo

選択肢を選ぶ

(a) nil

(d) NoMethodError

(b) "foo"

(c) Foo


次の問題へ進む

問題

以下の選択肢の中から参照と変更の機能を提供するアクセスメソッドとして正しいものを選択してください。

選択肢を選ぶ

(d) attr_accessor

(c) initialize

(b) attr_writer

(a) attr_reader


次の問題へ進む

問題

生成されるオブジェクトが所属するクラスが同じものになる組み合わせとして正しいものを以下の選択肢から選択してください。

選択肢を選ぶ

(d) Array.new, //

(c) Hash.new, {}

(b) Regexp.new, ""

(a) String.new, []


次のレッスン ホームへ戻る