中級
STAGE 1
110問目 • 10
  • Q1

    Rubyでクラスを定義するキーワードはどれですか?

    ANSWER
    class
    クリックして解説を表示
    EXPLANATION

    classキーワードでクラスを定義し、endで終了します。クラス名は大文字で始めます。

  • Q2

    Rubyのクラスでインスタンス変数を表す記号はどれですか?

    ANSWER
    @
    クリックして解説を表示
    EXPLANATION

    インスタンス変数は@で始まります。各インスタンスで個別の値を持ちます。

  • Q3

    Rubyのクラス変数を表す記号はどれですか?

    ANSWER
    @@
    クリックして解説を表示
    EXPLANATION

    クラス変数は@@で始まります。クラスとそのインスタンス全体で共有されます。

  • Q4

    Rubyでグローバル変数を表す記号はどれですか?

    ANSWER
    $
    クリックして解説を表示
    EXPLANATION

    グローバル変数は$で始まります。プログラム全体からアクセスできます。

  • Q5

    クラスのコンストラクタメソッドの名前は何ですか?

    ANSWER
    initialize
    クリックして解説を表示
    EXPLANATION

    initializeメソッドがコンストラクタとして、インスタンス生成時に自動的に呼ばれます。

  • Q6

    次のコードの出力は何ですか?

    class Dog
      def initialize(name)
        @name = name
      end
      def bark
        "#{@name} says woof!"
      end
    end
    dog = Dog.new("Pochi")
    puts dog.bark
    ANSWER
    Pochi says woof!
    クリックして解説を表示
    EXPLANATION

    Dog.newinitializeが呼ばれ、@nameに"Pochi"が設定されます。

  • Q7

    インスタンス変数の読み取り専用アクセサを定義するメソッドはどれですか?

    ANSWER
    attr_reader
    クリックして解説を表示
    EXPLANATION

    attr_readerでゲッターメソッドのみを定義します。

  • Q8

    インスタンス変数の読み書きアクセサを定義するメソッドはどれですか?

    ANSWER
    attr_accessor
    クリックして解説を表示
    EXPLANATION

    attr_accessorでゲッターとセッター両方のメソッドを定義します。

  • Q9

    クラスメソッドを定義する正しい方法はどれですか?

    ANSWER
    def self.method_name
    クリックして解説を表示
    EXPLANATION

    self.メソッド名でクラスメソッドを定義します。インスタンスではなくクラスに対して呼び出せます。

  • Q10

    次のコードの出力は何ですか?

    class Counter
      @@count = 0
      def initialize
        @@count += 1
      end
      def self.count
        @@count
      end
    end
    Counter.new
    Counter.new
    puts Counter.count
    ANSWER
    2
    クリックして解説を表示
    EXPLANATION

    クラス変数@@countは全インスタンスで共有され、2つのインスタンス生成で2になります。

STAGE 2
1120問目 • 10
  • Q11

    Rubyで継承を表す記号はどれですか?

    ANSWER
    <
    クリックして解説を表示
    EXPLANATION

    <記号で親クラスを指定して継承します。

  • Q12

    次のコードの出力は何ですか?

    class Animal
      def speak
        "..."
      end
    end
    class Cat < Animal
      def speak
        "Meow!"
      end
    end
    puts Cat.new.speak
    ANSWER
    Meow!
    クリックして解説を表示
    EXPLANATION

    Catクラスはspeakメソッドをオーバーライドしているので、"Meow!"が出力されます。

  • Q13

    親クラスのメソッドを呼び出すキーワードはどれですか?

    ANSWER
    super
    クリックして解説を表示
    EXPLANATION

    superキーワードで親クラスの同名メソッドを呼び出せます。

  • Q14

    次のコードの出力は何ですか?

    class Parent
      def greet
        "Hello"
      end
    end
    class Child < Parent
      def greet
        super + " World"
      end
    end
    puts Child.new.greet
    ANSWER
    Hello World
    クリックして解説を表示
    EXPLANATION

    superで親のgreetを呼び、その結果に" World"を連結します。

  • Q15

    Rubyでモジュールを定義するキーワードはどれですか?

    ANSWER
    module
    クリックして解説を表示
    EXPLANATION

    moduleキーワードでモジュールを定義します。名前空間やミックスインに使用します。

  • Q16

    モジュールのメソッドをクラスにミックスインするキーワードはどれですか?

    ANSWER
    include
    クリックして解説を表示
    EXPLANATION

    includeでモジュールのメソッドをインスタンスメソッドとしてミックスインします。

  • Q17

    モジュールのメソッドをクラスメソッドとしてミックスインするキーワードはどれですか?

    ANSWER
    extend
    クリックして解説を表示
    EXPLANATION

    extendでモジュールのメソッドをクラスメソッドとして追加します。

  • Q18

    次のコードの出力は何ですか?

    module Greetable
      def greet
        "Hello!"
      end
    end
    class Person
      include Greetable
    end
    puts Person.new.greet
    ANSWER
    Hello!
    クリックして解説を表示
    EXPLANATION

    includeでモジュールのメソッドがインスタンスメソッドとして使えるようになります。

  • Q19

    モジュールを名前空間として使う正しい方法はどれですか?

    ANSWER
    Module::Class
    クリックして解説を表示
    EXPLANATION

    モジュール名::クラス名の形式で名前空間内のクラスにアクセスします。

  • Q20

    Rubyのブロックとは何ですか?

    ANSWER
    メソッドに渡せるコードの塊
    クリックして解説を表示
    EXPLANATION

    ブロックはdo...endまたは{}で囲まれたコードの塊で、メソッドに渡すことができます。

STAGE 3
2130問目 • 10
  • Q21

    ブロックを受け取るメソッドでブロックを実行するキーワードはどれですか?

    ANSWER
    yield
    クリックして解説を表示
    EXPLANATION

    yieldでメソッドに渡されたブロックを実行します。

  • Q22

    次のコードの出力は何ですか?

    def twice
      yield
      yield
    end
    twice { puts "Hello" }
    ANSWER
    Hello(改行)Hello
    クリックして解説を表示
    EXPLANATION

    yieldが2回呼ばれるので、ブロックの処理が2回実行されます。

  • Q23

    ブロックに引数を渡す正しい方法はどれですか?

    ANSWER
    yield(arg) と { |arg| ... }
    クリックして解説を表示
    EXPLANATION

    yieldに引数を渡すと、ブロックのパラメータとして受け取れます。

  • Q24

    ブロックが渡されたかどうかを確認するメソッドはどれですか?

    ANSWER
    block_given?
    クリックして解説を表示
    EXPLANATION

    block_given?でメソッドにブロックが渡されたかを確認できます。

  • Q25

    次のコードの出力は何ですか?

    def greet
      if block_given?
        yield
      else
        "Hello"
      end
    end
    puts greet { "Hi" }
    ANSWER
    Hi
    クリックして解説を表示
    EXPLANATION

    ブロックが渡されているのでyieldが実行され、ブロックの戻り値"Hi"が返されます。

  • Q26

    配列の各要素に処理を適用して新しい配列を作るメソッドはどれですか?

    ANSWER
    map
    クリックして解説を表示
    EXPLANATION

    mapメソッド(collectも同じ)で各要素を変換した新しい配列を作成します。

  • Q27

    次のコードの出力は何ですか?

    arr = [1, 2, 3]
    result = arr.map { |n| n ** 2 }
    puts result.join(", ")
    ANSWER
    1, 4, 9
    クリックして解説を表示
    EXPLANATION

    mapで各要素を2乗し、[1, 4, 9]を", "で連結します。

  • Q28

    配列から条件に一致する最初の要素を取得するメソッドはどれですか?

    ANSWER
    find
    クリックして解説を表示
    EXPLANATION

    findメソッド(detectも同じ)で条件に一致する最初の要素を返します。

  • Q29

    次のコードの出力は何ですか?

    arr = [1, 2, 3, 4, 5]
    result = arr.find { |n| n > 3 }
    puts result
    ANSWER
    4
    クリックして解説を表示
    EXPLANATION

    findは条件を満たす最初の要素を返すので、4が出力されます。

  • Q30

    配列を条件でグループ分けするメソッドはどれですか?

    ANSWER
    group_by
    クリックして解説を表示
    EXPLANATION

    group_byメソッドでブロックの戻り値をキーとしたハッシュにグループ分けします。

STAGE 4
3140問目 • 10
  • Q31

    次のコードの出力は何ですか?

    arr = [1, 2, 3, 4, 5, 6]
    result = arr.partition { |n| n.even? }
    puts result.inspect
    ANSWER
    [[2, 4, 6], [1, 3, 5]]
    クリックして解説を表示
    EXPLANATION

    partitionは条件を満たす要素と満たさない要素の2つの配列に分けます。

  • Q32

    配列の最初のn個の要素を取得するメソッドはどれですか?

    ANSWER
    take
    クリックして解説を表示
    EXPLANATION

    takeメソッドで配列の先頭からn個の要素を取得します。

  • Q33

    配列の最初のn個を除いた残りの要素を取得するメソッドはどれですか?

    ANSWER
    drop
    クリックして解説を表示
    EXPLANATION

    dropメソッドで配列の先頭n個を除いた残りの要素を取得します。

  • Q34

    次のコードの出力は何ですか?

    arr = [1, 2, 3, 4, 5]
    puts arr.take(3).sum
    ANSWER
    6
    クリックして解説を表示
    EXPLANATION

    take(3)で[1, 2, 3]を取得し、その合計6が出力されます。

  • Q35

    Rubyで例外を発生させるキーワードはどれですか?

    ANSWER
    raise
    クリックして解説を表示
    EXPLANATION

    raiseキーワードで例外を発生させます。

  • Q36

    例外を捕捉するキーワードはどれですか?

    ANSWER
    rescue
    クリックして解説を表示
    EXPLANATION

    rescueキーワードで例外を捕捉して処理します。

  • Q37

    例外処理で必ず実行される部分を定義するキーワードはどれですか?

    ANSWER
    ensure
    クリックして解説を表示
    EXPLANATION

    ensureブロックは例外の有無にかかわらず必ず実行されます。

  • Q38

    次のコードの出力は何ですか?

    begin
      raise "Error!"
    rescue => e
      puts "Caught: #{e.message}"
    end
    ANSWER
    Caught: Error!
    クリックして解説を表示
    EXPLANATION

    raiseで発生した例外がrescueで捕捉され、メッセージが出力されます。

  • Q39

    特定の例外クラスのみを捕捉する正しい構文はどれですか?

    ANSWER
    rescue ArgumentError
    クリックして解説を表示
    EXPLANATION

    rescue 例外クラスで特定の例外クラスのみを捕捉できます。

  • Q40

    例外処理で例外が発生しなかった場合のみ実行される部分を定義するキーワードはどれですか?

    ANSWER
    else
    クリックして解説を表示
    EXPLANATION

    elseブロックは例外が発生しなかった場合にのみ実行されます。

STAGE 5
4150問目 • 10
  • Q41

    カスタム例外クラスを作成する正しい方法はどれですか?

    ANSWER
    class MyError < StandardError
    クリックして解説を表示
    EXPLANATION

    StandardErrorを継承してカスタム例外クラスを作成します。

  • Q42

    例外を再発生させるキーワードはどれですか?

    ANSWER
    raise(引数なし)
    クリックして解説を表示
    EXPLANATION

    raiseを引数なしで呼ぶと、現在の例外を再発生させます。

  • Q43

    Rubyでファイルを読み込むメソッドはどれですか?

    ANSWER
    File.read
    クリックして解説を表示
    EXPLANATION

    File.readでファイル全体を文字列として読み込みます。

  • Q44

    ファイルを1行ずつ読み込むメソッドはどれですか?

    ANSWER
    File.readlines
    クリックして解説を表示
    EXPLANATION

    File.readlinesでファイルを行の配列として読み込みます。

  • Q45

    ファイルに文字列を書き込むメソッドはどれですか?

    ANSWER
    File.write
    クリックして解説を表示
    EXPLANATION

    File.writeでファイルに文字列を書き込みます。既存の内容は上書きされます。

  • Q46

    ファイルを開いて処理し、自動的に閉じる方法はどれですか?

    ANSWER
    File.open(path) { |f| ... }
    クリックして解説を表示
    EXPLANATION

    File.openにブロックを渡すと、ブロック終了時に自動的にファイルが閉じられます。

  • Q47

    ファイルが存在するか確認するメソッドはどれですか?

    ANSWER
    File.exist?
    クリックして解説を表示
    EXPLANATION

    File.exist?でファイルの存在を確認できます。

  • Q48

    ディレクトリの内容を取得するメソッドはどれですか?

    ANSWER
    Dir.entries
    クリックして解説を表示
    EXPLANATION

    Dir.entriesまたはDir.globでディレクトリの内容を取得できます。

  • Q49

    ディレクトリを作成するメソッドはどれですか?

    ANSWER
    Dir.mkdir
    クリックして解説を表示
    EXPLANATION

    Dir.mkdirでディレクトリを作成します。

  • Q50

    現在の作業ディレクトリを取得するメソッドはどれですか?

    ANSWER
    Dir.pwd
    クリックして解説を表示
    EXPLANATION

    Dir.pwdで現在の作業ディレクトリのパスを取得します。

STAGE 6
5160問目 • 10
  • Q51

    Rubyの正規表現リテラルの記法はどれですか?

    ANSWER
    /パターン/
    クリックして解説を表示
    EXPLANATION

    /パターン/で正規表現リテラルを作成します。

  • Q52

    文字列が正規表現にマッチするか確認するメソッドはどれですか?

    ANSWER
    match?
    クリックして解説を表示
    EXPLANATION

    match?メソッドで文字列が正規表現にマッチするか確認できます。

  • Q53

    次のコードの出力は何ですか?

    str = "hello123world"
    puts str.match?(/\d+/)
    ANSWER
    true
    クリックして解説を表示
    EXPLANATION

    \d+は1つ以上の数字にマッチします。"123"がマッチするのでtrueが返されます。

  • Q54

    正規表現でマッチした部分を取得するメソッドはどれですか?

    ANSWER
    match
    クリックして解説を表示
    EXPLANATION

    matchメソッドでマッチした情報をMatchDataオブジェクトとして取得できます。

  • Q55

    次のコードの出力は何ですか?

    str = "hello123"
    match = str.match(/(\d+)/)
    puts match[1]
    ANSWER
    123
    クリックして解説を表示
    EXPLANATION

    (\d+)のキャプチャグループにマッチした"123"がmatch[1]で取得できます。

  • Q56

    正規表現を使って文字列を置換するメソッドはどれですか?

    ANSWER
    gsub
    クリックして解説を表示
    EXPLANATION

    gsubメソッドで正規表現にマッチした部分を置換できます。

  • Q57

    次のコードの出力は何ですか?

    str = "foo123bar456"
    puts str.gsub(/\d+/, "X")
    ANSWER
    fooXbarX
    クリックして解説を表示
    EXPLANATION

    gsubで全ての数字の連続を"X"に置換します。

  • Q58

    正規表現で大文字小文字を区別しないオプションはどれですか?

    ANSWER
    /パターン/i
    クリックして解説を表示
    EXPLANATION

    iオプションで大文字小文字を区別しないマッチングができます。

  • Q59

    正規表現でマッチした全ての結果を配列で取得するメソッドはどれですか?

    ANSWER
    scan
    クリックして解説を表示
    EXPLANATION

    scanメソッドで全てのマッチを配列として取得できます。

  • Q60

    次のコードの出力は何ですか?

    str = "a1b2c3"
    puts str.scan(/\d/).join(", ")
    ANSWER
    1, 2, 3
    クリックして解説を表示
    EXPLANATION

    scanで全ての数字["1", "2", "3"]を取得し、", "で連結します。

STAGE 7
6170問目 • 10
  • Q61

    正規表現で行頭を表すメタ文字はどれですか?

    ANSWER
    ^
    クリックして解説を表示
    EXPLANATION

    ^は行頭を表すアンカーです。

  • Q62

    正規表現で行末を表すメタ文字はどれですか?

    ANSWER
    $
    クリックして解説を表示
    EXPLANATION

    $は行末を表すアンカーです。

  • Q63

    Rubyで複数のファイルを読み込むキーワードはどれですか?

    ANSWER
    require
    クリックして解説を表示
    EXPLANATION

    requireで外部ファイルやライブラリを読み込みます。

  • Q64

    requirerequire_relativeの違いは何ですか?

    ANSWER
    require_relativeは現在のファイルからの相対パスで読み込む
    クリックして解説を表示
    EXPLANATION

    require_relativeは現在のファイルからの相対パスでファイルを読み込みます。

  • Q65

    privateメソッドの特徴として正しいものはどれですか?

    ANSWER
    レシーバを指定せずに呼び出す必要がある
    クリックして解説を表示
    EXPLANATION

    privateメソッドはレシーバを指定せず呼び出す必要があり、同じクラス内からのみアクセスできます。

  • Q66

    protectedメソッドの特徴として正しいものはどれですか?

    ANSWER
    同じクラスまたはサブクラスのインスタンスから呼び出せる
    クリックして解説を表示
    EXPLANATION

    protectedメソッドは同じクラスまたはサブクラスのインスタンスから呼び出せます。

  • Q67

    次のコードの出力は何ですか?

    class MyClass
      def public_method
        private_method
      end
      private
      def private_method
        "private!"
      end
    end
    puts MyClass.new.public_method
    ANSWER
    private!
    クリックして解説を表示
    EXPLANATION

    publicメソッドからprivateメソッドを呼び出すことは可能です。

  • Q68

    Structを使ってシンプルなクラスを作成する方法はどれですか?

    ANSWER
    Struct.new(:name, :age)
    クリックして解説を表示
    EXPLANATION

    Struct.newで属性を持つシンプルなクラスを簡単に作成できます。

  • Q69

    次のコードの出力は何ですか?

    Person = Struct.new(:name, :age)
    p = Person.new("Alice", 30)
    puts p.name
    ANSWER
    Alice
    クリックして解説を表示
    EXPLANATION

    Structで作成したクラスは属性にアクセスするメソッドを自動で持ちます。

  • Q70

    Rubyで日時を扱うクラスはどれですか?

    ANSWER
    Time
    クリックして解説を表示
    EXPLANATION

    Timeクラスで日時を扱います。DateDateTimeもあります。

STAGE 8
7180問目 • 10
  • Q71

    現在の日時を取得するメソッドはどれですか?

    ANSWER
    Time.now
    クリックして解説を表示
    EXPLANATION

    Time.nowで現在の日時を取得します。

  • Q72

    Timeオブジェクトをフォーマットするメソッドはどれですか?

    ANSWER
    strftime
    クリックして解説を表示
    EXPLANATION

    strftimeメソッドで日時を任意のフォーマットの文字列に変換します。

  • Q73

    次のコードの意味は何ですか?

    Time.now.strftime("%Y-%m-%d")
    ANSWER
    年-月-日のフォーマット(例:2024-01-15)
    クリックして解説を表示
    EXPLANATION

    %Yは4桁の年、%mは2桁の月、%dは2桁の日を表します。

  • Q74

    オブジェクトを複製するメソッドはどれですか?

    ANSWER
    dup
    クリックして解説を表示
    EXPLANATION

    dupまたはcloneでオブジェクトの浅いコピーを作成します。

  • Q75

    dupcloneの違いは何ですか?

    ANSWER
    cloneはフリーズ状態もコピーする
    クリックして解説を表示
    EXPLANATION

    cloneはフリーズ状態やシングルトンメソッドもコピーしますが、dupはしません。

  • Q76

    オブジェクトを変更不可にするメソッドはどれですか?

    ANSWER
    freeze
    クリックして解説を表示
    EXPLANATION

    freezeメソッドでオブジェクトを変更不可(イミュータブル)にします。

  • Q77

    オブジェクトがフリーズされているか確認するメソッドはどれですか?

    ANSWER
    frozen?
    クリックして解説を表示
    EXPLANATION

    frozen?メソッドでオブジェクトがフリーズされているか確認できます。

  • Q78

    配列を多次元配列に変換するメソッドはどれですか?

    ANSWER
    each_slice
    クリックして解説を表示
    EXPLANATION

    each_sliceで配列を指定サイズのチャンクに分割できます。

  • Q79

    次のコードの出力は何ですか?

    arr = [1, 2, 3, 4, 5, 6]
    puts arr.each_slice(2).to_a.length
    ANSWER
    3
    クリックして解説を表示
    EXPLANATION

    each_slice(2)で2要素ずつに分割すると[[1,2],[3,4],[5,6]]の3つになります。

  • Q80

    多次元配列を1次元に平坦化するメソッドはどれですか?

    ANSWER
    flatten
    クリックして解説を表示
    EXPLANATION

    flattenメソッドで多次元配列を1次元に平坦化します。

STAGE 9
8190問目 • 10
  • Q81

    次のコードの出力は何ですか?

    arr = [[1, 2], [3, [4, 5]]]
    puts arr.flatten.sum
    ANSWER
    15
    クリックして解説を表示
    EXPLANATION

    flattenで[1, 2, 3, 4, 5]に平坦化し、合計15になります。

  • Q82

    2つの配列を要素ごとにペアにするメソッドはどれですか?

    ANSWER
    zip
    クリックして解説を表示
    EXPLANATION

    zipメソッドで複数の配列を要素ごとにペアにした配列を作成します。

  • Q83

    次のコードの出力は何ですか?

    a = [1, 2, 3]
    b = ["a", "b", "c"]
    puts a.zip(b).first.inspect
    ANSWER
    [1, "a"]
    クリックして解説を表示
    EXPLANATION

    zipで[[1,"a"],[2,"b"],[3,"c"]]となり、firstで[1, "a"]が取得されます。

  • Q84

    配列の各要素とインデックスを同時に取得するメソッドはどれですか?

    ANSWER
    each_with_index
    クリックして解説を表示
    EXPLANATION

    each_with_indexで要素とそのインデックスを同時に取得できます。

  • Q85

    ハッシュのキーと値を入れ替えるメソッドはどれですか?

    ANSWER
    invert
    クリックして解説を表示
    EXPLANATION

    invertメソッドでハッシュのキーと値を入れ替えた新しいハッシュを作成します。

  • Q86

    次のコードの出力は何ですか?

    hash = { a: 1, b: 2 }
    puts hash.invert[1]
    ANSWER
    a
    クリックして解説を表示
    EXPLANATION

    invertで{1 => :a, 2 => :b}となり、[1]:aが取得されます。

  • Q87

    ハッシュを配列に変換するメソッドはどれですか?

    ANSWER
    to_a
    クリックして解説を表示
    EXPLANATION

    to_aメソッドでハッシュを[キー, 値]のペアの配列に変換します。

  • Q88

    配列をハッシュに変換する方法はどれですか?

    ANSWER
    to_h
    クリックして解説を表示
    EXPLANATION

    to_hメソッドで[キー, 値]のペアの配列をハッシュに変換します。

  • Q89

    次のコードの出力は何ですか?

    arr = [["a", 1], ["b", 2]]
    hash = arr.to_h
    puts hash["a"]
    ANSWER
    1
    クリックして解説を表示
    EXPLANATION

    to_hで{"a" => 1, "b" => 2}となり、["a"]で1が取得されます。

  • Q90

    メソッドに名前付き引数を渡す方法はどれですか?

    ANSWER
    def method(name: "default")
    クリックして解説を表示
    EXPLANATION

    キーワード引数を使って名前付きで引数を渡せます。

STAGE 10
91100問目 • 10
  • Q91

    次のコードの出力は何ですか?

    def greet(name:, greeting: "Hello")
      "#{greeting}, #{name}!"
    end
    puts greet(name: "Alice")
    ANSWER
    Hello, Alice!
    クリックして解説を表示
    EXPLANATION

    nameは必須のキーワード引数、greetingはデフォルト値を持ちます。

  • Q92

    可変長のキーワード引数を受け取る方法はどれですか?

    ANSWER
    **kwargs
    クリックして解説を表示
    EXPLANATION

    **kwargsで任意のキーワード引数をハッシュとして受け取れます。

  • Q93

    Enumeratorとは何ですか?

    ANSWER
    遅延評価可能な列挙オブジェクト
    クリックして解説を表示
    EXPLANATION

    Enumeratorは遅延評価可能な列挙オブジェクトで、イテレーションを制御できます。

  • Q94

    遅延評価のEnumeratorを作成するメソッドはどれですか?

    ANSWER
    lazy
    クリックして解説を表示
    EXPLANATION

    lazyメソッドで遅延評価のEnumeratorを作成できます。

  • Q95

    次のコードの出力は何ですか?

    result = (1..Float::INFINITY).lazy.select { |n| n % 2 == 0 }.take(3).to_a
    puts result.inspect
    ANSWER
    [2, 4, 6]
    クリックして解説を表示
    EXPLANATION

    lazyで遅延評価し、偶数を3つ取得すると[2, 4, 6]になります。

  • Q96

    JSONをパースするメソッドはどれですか?

    ANSWER
    JSON.parse
    クリックして解説を表示
    EXPLANATION

    JSON.parseでJSON文字列をRubyオブジェクトに変換します。

  • Q97

    RubyオブジェクトをJSONに変換するメソッドはどれですか?

    ANSWER
    JSON.generate
    クリックして解説を表示
    EXPLANATION

    JSON.generateまたはto_jsonでRubyオブジェクトをJSON文字列に変換します。

  • Q98

    メソッドのエイリアスを作成するキーワードはどれですか?

    ANSWER
    alias
    クリックして解説を表示
    EXPLANATION

    aliasまたはalias_methodでメソッドの別名を作成できます。

  • Q99

    次のコードの出力は何ですか?

    class MyClass
      def hello
        "Hello!"
      end
      alias greet hello
    end
    puts MyClass.new.greet
    ANSWER
    Hello!
    クリックして解説を表示
    EXPLANATION

    aliashelloの別名greetが作成され、同じ結果を返します。

  • Q100

    Rubyで定数を定義する方法として正しいものはどれですか?

    ANSWER
    MAX = 100
    クリックして解説を表示
    EXPLANATION

    Rubyでは大文字で始まる名前が定数として扱われます。慣例として全て大文字で書くことが多いです。