初級
STAGE 1
110問目 • 10
  • Q1

    Rubyとはどのような言語ですか?

    ANSWER
    オブジェクト指向のインタプリタ型言語
    クリックして解説を表示
    EXPLANATION

    Rubyはまつもとゆきひろ氏が開発した、オブジェクト指向のインタプリタ型プログラミング言語です。

  • Q2

    Rubyでコメントを書くにはどうしますか?

    ANSWER
    コメント
    クリックして解説を表示
    EXPLANATION

    #から行末までが1行コメントになります。複数行コメントは=begin=endで囲みます。

  • Q3

    Rubyで文字列を出力するメソッドはどれですか?

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

    putsメソッドで文字列を出力し、末尾に改行が追加されます。printは改行なしで出力します。

  • Q4

    次のコードを実行すると何が表示されますか?

    puts "Hello, Ruby!"
    ANSWER
    Hello, Ruby!
    クリックして解説を表示
    EXPLANATION

    putsメソッドで文字列「Hello, Ruby!」が出力されます。

  • Q5

    Rubyで変数を宣言する正しい方法はどれですか?

    ANSWER
    x = 10
    クリックして解説を表示
    EXPLANATION

    Rubyでは型宣言なしで変数名 = 値の形式で変数に値を代入します。小文字またはアンダースコアで始めます。

  • Q6

    Rubyで整数の足し算を行う正しいコードはどれですか?

    ANSWER
    5 + 3
    クリックして解説を表示
    EXPLANATION

    +演算子で数値の足し算ができます。

  • Q7

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

    x = 10
    y = 3
    puts x / y
    ANSWER
    3
    クリックして解説を表示
    EXPLANATION

    整数同士の除算では結果も整数になります。10 / 3 = 3(小数点以下切り捨て)

  • Q8

    Rubyで文字列を作成する方法として正しくないものはどれですか?

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

    Rubyでは""(ダブルクォート)、''(シングルクォート)で文字列を作成できます。バッククォートはコマンド実行に使われます。

  • Q9

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

    name = "Ruby"
    puts "Hello, #{name}!"
    ANSWER
    Hello, Ruby!
    クリックして解説を表示
    EXPLANATION

    ダブルクォート内で#{}を使うと式展開(文字列補間)ができます。

  • Q10

    シングルクォートで囲んだ文字列で式展開はできますか?

    ANSWER
    できない
    クリックして解説を表示
    EXPLANATION

    シングルクォートでは式展開は行われず、#{}がそのまま文字列として出力されます。

STAGE 2
1120問目 • 10
  • Q11

    Rubyで真偽値を表すクラスはどれですか?

    ANSWER
    TrueClassとFalseClass
    クリックして解説を表示
    EXPLANATION

    RubyではtrueTrueClassfalseFalseClassのインスタンスです。

  • Q12

    Rubyでnilは何を表しますか?

    ANSWER
    値が存在しないこと
    クリックして解説を表示
    EXPLANATION

    nilは「何もない」「値が存在しない」ことを表す特別な値です。NilClassのインスタンスです。

  • Q13

    次のうち、Rubyで偽(falsy)と評価されるものはどれですか?

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

    Rubyで偽として評価されるのはfalsenilのみです。0や空文字列は真として評価されます。

  • Q14

    Rubyのシンボルとは何ですか?

    ANSWER
    コロンで始まる不変のオブジェクト
    クリックして解説を表示
    EXPLANATION

    シンボルは:で始まる不変のオブジェクトで、文字列より軽量でハッシュのキーなどに使われます。

  • Q15

    次のうち、正しいシンボルの記述はどれですか?

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

    シンボルはコロン(:)の後に名前を記述します。

  • Q16

    Rubyで条件分岐を行うキーワードはどれですか?

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

    if文を使って条件分岐を行います。elsifで追加条件、elseでそれ以外の場合を指定します。

  • Q17

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

    x = 5
    if x > 3
      puts "big"
    else
      puts "small"
    end
    ANSWER
    big
    クリックして解説を表示
    EXPLANATION

    x = 5 は 3より大きいので、条件が真となり "big" が出力されます。

  • Q18

    Rubyのunless文の意味は何ですか?

    ANSWER
    条件が偽の場合に実行
    クリックして解説を表示
    EXPLANATION

    unlessifの逆で、条件が偽の場合に処理を実行します。「〜でなければ」という意味です。

  • Q19

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

    x = 0
    unless x > 0
      puts "zero or negative"
    end
    ANSWER
    zero or negative
    クリックして解説を表示
    EXPLANATION

    unlessは条件が偽の場合に実行されます。x = 0 は 0より大きくないので、処理が実行されます。

  • Q20

    Rubyで複数の条件を分岐するcase文の正しい構文はどれですか?

    ANSWER
    case x when 1 then ... else ... end
    クリックして解説を表示
    EXPLANATION

    case文ではwhenで各条件を、elseでデフォルトの処理を指定します。

STAGE 3
2130問目 • 10
  • Q21

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

    x = 2
    case x
    when 1
      puts "one"
    when 2
      puts "two"
    else
      puts "other"
    end
    ANSWER
    two
    クリックして解説を表示
    EXPLANATION

    xの値が2なので、when 2の条件に一致し "two" が出力されます。

  • Q22

    Rubyで三項演算子を使う正しい構文はどれですか?

    ANSWER
    条件 ? 真 : 偽
    クリックして解説を表示
    EXPLANATION

    三項演算子は 条件 ? 真の場合の値 : 偽の場合の値 の形式で記述します。

  • Q23

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

    age = 20
    status = age >= 18 ? "adult" : "minor"
    puts status
    ANSWER
    adult
    クリックして解説を表示
    EXPLANATION

    age = 20 は 18以上なので条件が真となり、"adult" が代入されます。

  • Q24

    Rubyのwhileループの正しい構文はどれですか?

    ANSWER
    while 条件 do 処理 end
    クリックして解説を表示
    EXPLANATION

    whileは条件が真の間、処理を繰り返します。endで終了します。

  • Q25

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

    i = 0
    while i < 3
      puts i
      i += 1
    end
    ANSWER
    0 1 2(それぞれ改行)
    クリックして解説を表示
    EXPLANATION

    i が 0, 1, 2 の間ループが実行され、それぞれの値が出力されます。

  • Q26

    Rubyのuntilループはどのような動作をしますか?

    ANSWER
    条件が偽の間繰り返す
    クリックして解説を表示
    EXPLANATION

    untilwhileの逆で、条件が偽の間、処理を繰り返します。

  • Q27

    Rubyで指定回数繰り返すメソッドはどれですか?

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

    timesメソッドを使うと、指定した回数だけブロックを繰り返し実行できます。

  • Q28

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

    3.times do |i|
      puts i
    end
    ANSWER
    0 1 2(それぞれ改行)
    クリックして解説を表示
    EXPLANATION

    timesのブロック変数は0から始まるので、0, 1, 2 が出力されます。

  • Q29

    Rubyのforループの正しい構文はどれですか?

    ANSWER
    for i in 1..10 do ... end
    クリックして解説を表示
    EXPLANATION

    for文はfor 変数 in 範囲の形式で記述し、endで終了します。

  • Q30

    Rubyで1..51...5の違いは何ですか?

    ANSWER
    ..は終端を含み、...は終端を含まない
    クリックして解説を表示
    EXPLANATION

    ..は終端を含む範囲、...は終端を含まない範囲を表します。

STAGE 4
3140問目 • 10
  • Q31

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

    (1...4).each { |n| puts n }
    ANSWER
    1 2 3(それぞれ改行)
    クリックして解説を表示
    EXPLANATION

    ...は終端を含まないので、1, 2, 3 が出力されます(4は含まれない)。

  • Q32

    Rubyでループを途中で抜けるキーワードはどれですか?

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

    breakでループを途中で抜けることができます。

  • Q33

    Rubyでループの次の繰り返しにスキップするキーワードはどれですか?

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

    nextで現在の繰り返しをスキップし、次の繰り返しに進みます。

  • Q34

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

    5.times do |i|
      next if i == 2
      puts i
    end
    ANSWER
    0 1 3 4(それぞれ改行)
    クリックして解説を表示
    EXPLANATION

    i が 2 のときは next でスキップされるので、0, 1, 3, 4 が出力されます。

  • Q35

    Rubyでメソッドを定義するキーワードはどれですか?

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

    defキーワードでメソッドを定義し、endで終了します。

  • Q36

    次のコードで正しくメソッドを定義しているのはどれですか?

    ANSWER
    def greet puts "Hello" end
    クリックして解説を表示
    EXPLANATION

    Rubyのメソッド定義はdef メソッド名で始まり、endで終わります。

  • Q37

    Rubyのメソッドで引数にデフォルト値を設定する方法はどれですか?

    ANSWER
    def greet(name = "Guest")
    クリックして解説を表示
    EXPLANATION

    引数名の後に=とデフォルト値を指定することで、デフォルト値を設定できます。

  • Q38

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

    def add(a, b)
      a + b
    end
    puts add(3, 5)
    ANSWER
    8
    クリックして解説を表示
    EXPLANATION

    Rubyのメソッドは最後に評価された式の値を自動的に返します。3 + 5 = 8 が返されます。

  • Q39

    Rubyのメソッドで明示的に値を返すキーワードはどれですか?

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

    returnキーワードで明示的に値を返すことができます。省略すると最後の式の値が返されます。

  • Q40

    Rubyで可変長引数を受け取るメソッドの定義方法はどれですか?

    ANSWER
    def method(*args)
    クリックして解説を表示
    EXPLANATION

    引数名の前に*をつけると、可変長引数として配列で受け取れます。

STAGE 5
4150問目 • 10
  • Q41

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

    def sum(*numbers)
      numbers.sum
    end
    puts sum(1, 2, 3, 4)
    ANSWER
    10
    クリックして解説を表示
    EXPLANATION

    *numbersで全ての引数を配列として受け取り、sumメソッドで合計を計算します。

  • Q42

    Rubyで配列を作成する正しい方法はどれですか?

    ANSWER
    [1, 2, 3]
    クリックして解説を表示
    EXPLANATION

    []で配列リテラルを作成するか、Array.newでインスタンスを作成します。

  • Q43

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

    arr = [10, 20, 30]
    puts arr[1]
    ANSWER
    20
    クリックして解説を表示
    EXPLANATION

    配列のインデックスは0から始まるので、arr[1]は2番目の要素である20を返します。

  • Q44

    Rubyで配列の最後の要素を取得する方法はどれですか?

    ANSWER
    arr[-1]
    クリックして解説を表示
    EXPLANATION

    arr[-1]またはarr.lastで配列の最後の要素を取得できます。

  • Q45

    配列に要素を追加するメソッドはどれですか?

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

    pushメソッドまたは<<演算子で配列の末尾に要素を追加できます。

  • Q46

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

    arr = [1, 2, 3]
    arr << 4
    puts arr.length
    ANSWER
    4
    クリックして解説を表示
    EXPLANATION

    <<で要素4が追加され、配列は[1, 2, 3, 4]になり、長さは4になります。

  • Q47

    配列から最後の要素を削除して取得するメソッドはどれですか?

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

    popメソッドで配列の最後の要素を削除して返します。

  • Q48

    配列から最初の要素を削除して取得するメソッドはどれですか?

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

    shiftメソッドで配列の最初の要素を削除して返します。

  • Q49

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

    arr = [1, 2, 3, 4, 5]
    puts arr[1..3]
    ANSWER
    2 3 4(それぞれ改行)
    クリックして解説を表示
    EXPLANATION

    arr[1..3]はインデックス1から3までの要素(2, 3, 4)を取得します。

  • Q50

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

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

    lengthsizecountのいずれかで配列の要素数を取得できます。

STAGE 6
5160問目 • 10
  • Q51

    配列が空かどうかを確認するメソッドはどれですか?

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

    empty?メソッドで配列が空かどうかを確認できます。真偽値を返します。

  • Q52

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

    arr = [3, 1, 4, 1, 5]
    puts arr.include?(4)
    ANSWER
    true
    クリックして解説を表示
    EXPLANATION

    include?メソッドは要素が含まれているかを確認し、4は含まれているのでtrueを返します。

  • Q53

    配列を昇順にソートするメソッドはどれですか?

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

    sortメソッドで配列を昇順にソートした新しい配列を返します。sort!は元の配列を変更します。

  • Q54

    配列を逆順にするメソッドはどれですか?

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

    reverseメソッドで配列を逆順にした新しい配列を返します。

  • Q55

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

    arr = [1, 2, 3]
    puts arr.join("-")
    ANSWER
    1-2-3
    クリックして解説を表示
    EXPLANATION

    joinメソッドは配列の要素を指定した区切り文字で連結した文字列を返します。

  • Q56

    Rubyでハッシュを作成する正しい方法はどれですか?

    ANSWER
    { key: value }
    クリックして解説を表示
    EXPLANATION

    {}でハッシュリテラルを作成します。キーと値は=>または:で関連付けます。

  • Q57

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

    person = { name: "Alice", age: 25 }
    puts person[:name]
    ANSWER
    Alice
    クリックして解説を表示
    EXPLANATION

    シンボルをキーとしてハッシュから値を取得します。:nameに対応する"Alice"が返されます。

  • Q58

    ハッシュに新しいキーと値を追加する方法はどれですか?

    ANSWER
    hash[key] = value
    クリックして解説を表示
    EXPLANATION

    hash[key] = valueの形式で新しいキーと値のペアを追加できます。

  • Q59

    ハッシュから指定したキーを削除するメソッドはどれですか?

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

    deleteメソッドで指定したキーとその値をハッシュから削除します。

  • Q60

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

    hash = { a: 1, b: 2, c: 3 }
    puts hash.keys
    ANSWER
    a b c(それぞれ改行)
    クリックして解説を表示
    EXPLANATION

    keysメソッドはハッシュのすべてのキーを配列として返します。

STAGE 7
6170問目 • 10
  • Q61

    ハッシュのすべての値を取得するメソッドはどれですか?

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

    valuesメソッドでハッシュのすべての値を配列として取得できます。

  • Q62

    ハッシュにキーが存在するか確認するメソッドはどれですか?

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

    key?またはhas_key?メソッドでキーの存在を確認できます。

  • Q63

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

    hash = { x: 10, y: 20 }
    puts hash.fetch(:z, 0)
    ANSWER
    0
    クリックして解説を表示
    EXPLANATION

    fetchメソッドはキーが存在しない場合、第2引数のデフォルト値を返します。

  • Q64

    ハッシュをループ処理する正しい方法はどれですか?

    ANSWER
    hash.each { |k, v| ... }
    クリックして解説を表示
    EXPLANATION

    eachメソッドでキーと値のペアを繰り返し処理できます。

  • Q65

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

    hash = { a: 1, b: 2 }
    hash.each { |k, v| puts "#{k}: #{v}" }
    ANSWER
    a: 1(改行)b: 2
    クリックして解説を表示
    EXPLANATION

    eachでキーと値のペアを繰り返し処理し、各ペアが出力されます。

  • Q66

    Rubyで比較演算子「等しい」を表すのはどれですか?

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

    ==で2つの値が等しいかを比較します。=は代入演算子です。

  • Q67

    Rubyの<=>演算子は何を返しますか?

    ANSWER
    -1, 0, または 1
    クリックして解説を表示
    EXPLANATION

    <=>(宇宙船演算子)は左辺が大きければ1、等しければ0、小さければ-1を返します。

  • Q68

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

    puts 5 <=> 3
    ANSWER
    1
    クリックして解説を表示
    EXPLANATION

    5は3より大きいので、<=>演算子は1を返します。

  • Q69

    Rubyの論理演算子「かつ」を表すのはどれですか?

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

    &&またはandで論理積(AND)を表します。&&の方が優先度が高いです。

  • Q70

    Rubyの論理演算子「または」を表すのはどれですか?

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

    ||またはorで論理和(OR)を表します。||の方が優先度が高いです。

STAGE 8
7180問目 • 10
  • Q71

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

    x = nil
    puts x || "default"
    ANSWER
    default
    クリックして解説を表示
    EXPLANATION

    ||は左辺が偽の場合に右辺を返します。nilは偽なので"default"が出力されます。

  • Q72

    Rubyの!演算子の意味は何ですか?

    ANSWER
    論理否定(NOT)
    クリックして解説を表示
    EXPLANATION

    !は論理否定演算子で、真偽値を反転させます。

  • Q73

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

    puts !true
    ANSWER
    false
    クリックして解説を表示
    EXPLANATION

    !は真偽値を反転させるので、!truefalseになります。

  • Q74

    Rubyで累乗を計算する演算子はどれですか?

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

    **演算子で累乗を計算します。例:2 ** 3は8になります。

  • Q75

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

    puts 2 ** 4
    ANSWER
    16
    クリックして解説を表示
    EXPLANATION

    2 ** 4は2の4乗で、16になります。

  • Q76

    Rubyで剰余(余り)を計算する演算子はどれですか?

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

    %演算子で除算の余りを計算します。

  • Q77

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

    puts 17 % 5
    ANSWER
    2
    クリックして解説を表示
    EXPLANATION

    17を5で割った余りは2です。

  • Q78

    Rubyで文字列を整数に変換するメソッドはどれですか?

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

    to_iメソッドで文字列を整数に変換できます。

  • Q79

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

    puts "42".to_i + 8
    ANSWER
    50
    クリックして解説を表示
    EXPLANATION

    "42"が整数42に変換され、8を足して50になります。

  • Q80

    Rubyで整数を文字列に変換するメソッドはどれですか?

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

    to_sメソッドで整数を文字列に変換できます。

STAGE 9
8190問目 • 10
  • Q81

    Rubyで文字列を浮動小数点数に変換するメソッドはどれですか?

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

    to_fメソッドで文字列を浮動小数点数に変換できます。

  • Q82

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

    puts "3.14".to_f * 2
    ANSWER
    6.28
    クリックして解説を表示
    EXPLANATION

    "3.14"が浮動小数点数3.14に変換され、2を掛けて6.28になります。

  • Q83

    Rubyで文字列の長さを取得するメソッドはどれですか?

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

    lengthまたはsizeメソッドで文字列の長さを取得できます。

  • Q84

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

    puts "Hello".length
    ANSWER
    5
    クリックして解説を表示
    EXPLANATION

    "Hello"は5文字なので、lengthメソッドは5を返します。

  • Q85

    文字列を大文字に変換するメソッドはどれですか?

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

    upcaseメソッドで文字列のすべての文字を大文字に変換できます。

  • Q86

    文字列を小文字に変換するメソッドはどれですか?

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

    downcaseメソッドで文字列のすべての文字を小文字に変換できます。

  • Q87

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

    puts "hello world".capitalize
    ANSWER
    Hello world
    クリックして解説を表示
    EXPLANATION

    capitalizeメソッドは最初の文字を大文字に、残りを小文字にします。

  • Q88

    文字列の前後の空白を削除するメソッドはどれですか?

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

    stripメソッドで文字列の前後の空白文字を削除できます。

  • Q89

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

    puts "  hello  ".strip
    ANSWER
    hello
    クリックして解説を表示
    EXPLANATION

    stripで前後の空白が削除され、"hello"が出力されます。

  • Q90

    文字列を特定の文字で分割するメソッドはどれですか?

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

    splitメソッドで文字列を区切り文字で分割し、配列として返します。

STAGE 10
91100問目 • 10
  • Q91

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

    puts "a,b,c".split(",").length
    ANSWER
    3
    クリックして解説を表示
    EXPLANATION

    "a,b,c"をカンマで分割すると["a", "b", "c"]となり、長さは3です。

  • Q92

    文字列内の文字を置換するメソッドはどれですか?

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

    gsubメソッドで文字列内のパターンに一致する部分をすべて置換できます。

  • Q93

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

    puts "hello".gsub("l", "r")
    ANSWER
    herro
    クリックして解説を表示
    EXPLANATION

    gsubで"l"をすべて"r"に置換し、"herro"になります。

  • Q94

    文字列が特定の文字列で始まるか確認するメソッドはどれですか?

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

    start_with?メソッドで文字列が特定の文字列で始まるかを確認できます。

  • Q95

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

    puts "hello".start_with?("he")
    ANSWER
    true
    クリックして解説を表示
    EXPLANATION

    "hello"は"he"で始まるので、start_with?trueを返します。

  • Q96

    文字列が特定の文字列で終わるか確認するメソッドはどれですか?

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

    end_with?メソッドで文字列が特定の文字列で終わるかを確認できます。

  • Q97

    Rubyでユーザーからの入力を受け取るメソッドはどれですか?

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

    getsメソッドで標準入力からの入力を受け取ります。末尾に改行が含まれます。

  • Q98

    getsで受け取った入力の末尾の改行を削除するメソッドはどれですか?

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

    chompメソッドで文字列末尾の改行文字を削除できます。

  • Q99

    Rubyで乱数を生成するメソッドはどれですか?

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

    randメソッドで乱数を生成できます。引数なしで0以上1未満、整数を指定するとその範囲の乱数を返します。

  • Q100

    次のコードで生成される乱数の範囲はどれですか?

    rand(1..10)
    ANSWER
    1から10
    クリックして解説を表示
    EXPLANATION

    rand(1..10)は1から10までの整数をランダムに返します(両端を含む)。