Rubyがミニツク

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

Ruby入門コース

このコースについて

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

コンテンツ一覧

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

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

メソッドレッスンのドリル

コンテンツ概要

この問題集を学習して、Ruby入門コースのレッスン「メソッド」の重要ポイントを覚えましょう。学習対象となるのはブロック付きメソッド呼び出しや演算子やメソッドの別名などです。

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


はじめる

問題

以下のコードがエラーにならずに「Greetings, Eartling!]を出力して正常終了するように、(A)の部分に当てはまる適切な選択肢を選んでください。

def greeting
  puts "Greetings, #{ (A) }!"
end
greeting { "Earthling" }

選択肢を選ぶ

(b) call

(a) send

(d) yield

(c) block


次の問題へ進む

問題

以下のコードがエラーにならずに「New speed is 10.」を標準出力へ出力してから正常終了するように、(A)の部分に当てはまる適切な選択肢を選んでください。

def accelerate(speed, delta)
  (A)
  puts "New speed is #{ new_speed }."
end
accelerate(0, 10) { |speed, delta| speed + delta }
#=> New speed is 10.

選択肢を選ぶ

(d) yield

(c) new_speed = yield(speed, delta)

(a) yield(speed, delta)

(b) new_speed = yield


次の問題へ進む

問題

以下のコードを実行した結果として、標準出力へ出力されるものはどれでしょうか?

  alias print_ print
  def print(str)
    print_ str.chomp
  end
  print "first \n"
  print_ "second"

選択肢を選ぶ

(b) first second

(d) firstsecond

(c) first second

(a) first second


次の問題へ進む

問題

以下のコードを実行した時の動作として正しい選択肢を選んでください。

  def yielder(input)
    yield input
  end
  puts yielder("Ruby dreams")

選択肢を選ぶ

(a) 「Ruby dreams」の文字列が標準出力へ表示される

(c) 何も起こらない

(d) 空の文字列が標準出力へ表示される

(b) 「LocalJumpError: no block given」というエラーになる


次の問題へ進む

問題

以下のコードを実行した時の動作として正しい選択肢を選んでください。

class Book
  def initialize(args)
    @title  = args[:title]
    @author = args[:author]
    @year   = args[:year]
  end
end
book = Book.new({:title => "Ruby and friends"}, {:year => 1996})

選択肢を選ぶ

(a) NameError: undefined local variable or method `author'が発生する

(c) 新しいBookオブジェクトが変数「book」に代入される

(b) ArgumentError: wrong number of arguments (2 for 1)が発生する

(d) SyntaxErrorが発生する


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