検定問題ページへ 検定問題ページへ 
前回の受検結果ページへ 前回の受検結果ページへ 
解答の解説記事へ 解答の解説記事 



【Ruby検定】の受検者数と平均点
  平均点
Webサイトでの受検 42.8
展示会場での受検 31.2
総合 41.9

 ビジネス分野にも確実に浸透しているプログラミング言語Ruby。その作者まつもとゆきひろ氏が理事長を務めるRubyアソシエーションが,Rubyエンジニアの育成とRubyの普及を目的として実施しているのが「Ruby技術者認定試験」である。

 今回の「Ruby検定」は,本番のRuby技術者認定試験を作成している伊藤忠テクノソリューションズとCTCテクノロジーが問題を作成,Rubyアソシエーションが監修した。実際の試験に限りなく近いものだ。

 それゆえに問題も難しく,多くの受検者にとって歯ごたえのあるものだったようだ。平均点は41.9点。展示会場での受検に限ると31.2点だった。

 正答率が特に低かったのは問題7で17.6%。次に低かったのは問題4で26.3%だった。

【Ruby検定】の正答率
問題 問題1 問題2 問題3 問題4 問題5
正答率(%) 33.0 42.7 43.9 26.3 32.6

問題 問題6 問題7 問題8 問題9 問題10
正答率(%) 55.6 17.6 53.6 59.8 54.8

 問題7は,改行を取り除くメソッドに関する問題だ。

【問題7】
 標準入力(キーボード)において,入力の最後の改行を取り除いた文字列を変数に代入したいとします。以下に示すコードの__(1)__の部分に入れるコードとして,適切なものはどれでしょうか。あてはまるものをすべて選んでください。

print("名前: ")
name = __(1)__

 【選択肢】 正解
A) gets.trim
B) gets.strip
C) gets.chomp
D) gets.chop

 正解はCとDである。

 Cのchompメソッドは,文字列の最後に改行文字がある場合に改行を取り除くメソッド。またDのchopメソッドは,改行文字に限らず最後の文字を1文字取り除く。この問題では,キーボードから入力した文字列の最後に改行文字がついているので,chomp,chopのどちらも正解になる。

 受検者の回答は,Cのみを選んだのが40.6%と最も多かった。Dのみを選んだの受検者は12.1%だった。この問題では非常によく似た名前の2つのメソッドの動作を問うもので,非常に難易度の高い問題だったと言える。「特にRuby on Railsでアプリケーションを作る場合,改行付の文字列から最後の改行だけを取り除くケースは少ないのではないか」(CTCテクノロジー)。