スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。



Ruby技術者認定試験Gold向けの自作問題

今回は、Ruby技術者認定試験Goldの学習方法の最後で述べましたGold試験学習用に自分で作成した問題のサンプルを紹介します。

まず、いきなりのお詫びになりますが、前回、「答えあわせで、irbにRubyのソースコードをコピペして実行する」という内容を述べましたが、これは間違えていました。irbへのコピペはできません。
失礼しました。

正しくは以下の順になります。

1.拡張子がrbで終わるRubyソースファイルを作成
2.コマンドプロンプトを起動する。
3.上で作成した拡張子rbのファイルをコマンドプロンプトにドラッグ&ドロップ
4.Enterキーを入力してプログラムを実行


さて、実際に作成した自作問題についてですが、その1つが以下になります。
お断りしておきますが、自分用に作成した問題なので、細かいことは気にしていません。
つっこみは無しでお願いしますね。
興味がある人は、是非解答してみてください。



【問題】
以下のソースコードを実行した結果、何が表示されるか


class A

def initialize( *rest )

p "*rest2=#{rest}"

p rest

end

end



class B < A

def initialize( first, *rest )

p "first1=#{first}"

puts "rest1=#{rest}"

super

super()

end

end



obj1 = B.new("A", "B", "C", "D", "E")





正解が見えないように、少し改行を入れておきますね。














































【解答】
"first=A"
"*rest1=BCDE"
"*rest2=ABCDE"
["A", "B", "C", "D", "E"]
"*rest2="
[]



正しく解答できたでしょうか?
技術解説は、当ブログの目的ではありませんので、説明は省略しますが、引数の配列化、継承メソッドの呼び出し方法など、RubyのGold合格に大切な内容が含まれています。

Gold受験を目指す人は正しく理解しておくべきでしょう。

なお、この問題は、資格受験を最大限に生かす方法をベースにしています。

実際の試験で出題されて、私自身が解答に迷い、結果的に間違えてしまった問題・・・
間違いの原因となった知識不足解消を目的に作成した問題になります。
実試験でも、きっと役立つと思いますよ。

最終的には、100問近くの自作問題を作成しました。
自分の弱点を解消することを目的に作成した問題なので、試験に類似問題が出題されるかどうかはわかりません。
ですが、Rubyの理解に役立ったことは間違いありません。

結果的にはGold合格につながったと思っています。


自作問題の作成手順は、
 1.こんな場合の動きは?といった確認したい動作を調べるRubyプログラムを作成。
 2.実際に、プログラムを実行して、動作を確認し、動きを理解。
 3.作成したプログラムは、再利用(自作問題として)できるようにファイルに保存。
というシンプルな流れなので誰でも作成できると思います。

問題を自作するというのは面倒に感じるかもしれません。
ですが、作成と解答を通して、Rubyのライティングとリーディングを鍛えることができるというメリットもあります。
Gold受験を目指している方は、自分で自分の弱点を解消する問題を作ってみてはどうですか。

参考にしてみてください。


開発者のためのホスティングサービススケール
UQ WiMAX × BIGLOBE
フリーエンジニア79.6%が金額アップ↑↑【エンジニアナビ】





関連記事
スポンサーサイト



コメントの投稿

非公開コメント

プロフィール

Kamui Kentaro

Author:Kamui Kentaro
プロフィール詳細はコチラです。

メール
最新記事
カテゴリ
全記事表示リンク

全ての記事を表示する

月別アーカイブ
リンク
※相互リンク募集中!
ブログランキング
クリック、更新の励みになります

FC2Blog Ranking

最新コメント
最新トラックバック
FC2カウンター
あし@
検索フォーム
RSSリンクの表示
QRコード
QR
 
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。