武田哲也さんのRuby技術者認定試験受験記の続き

武田哲也 @__takeda さんのRuby技術者認定試験の受験記(下記)の続きになります。 http://togetter.com/li/769555
0
武田哲也 @__takeda

#RubySilver 合格。94点。 結果だけ見ると危なげないが、自信ないのが10問ほどあった。そういう問題は「Rubyはこういう仕様であってほしい、そういう仕様にするはず」という勘で答えたのがうまくいったようだ。

2015-02-03 12:30:23
武田哲也 @__takeda

#RubySilver さて。金銀揃ったので、これで晴れてワタスもRuby認定(ど素人ではない証明付き)技術者になった! Rubyアソシエーションさんにはだいぶ貢いでしまったな〜。

2015-02-03 12:33:32
武田哲也 @__takeda

#RubySilver 悩んだところは試験終了後すぐメモった。13個ぐらいあった。試験中のメモは持ち帰れないので、キーワードをアルファベット順に並べて、reduceして暗記してから会場を出たw。50問一通り解くのに40分ほど、全部見直して暗記メモ作っても75分ほどで済んだ。

2015-02-03 12:38:28
武田哲也 @__takeda

#RubySilver そういや今回の試験は最後にアンケートがあった。Rubyを主にどこで勉強しましたか?経験何年ですか?とかそういうやつ。エントリー試験ってことで銀だけあるんかな?

2015-02-04 01:21:53
武田哲也 @__takeda

#RubySilver 2/3に合格したRuby Silver試験について、個人的に悩んだ点を覚え書いときます。 (例によってNDAがあるので、問題そのものを書いたりはしません)

2015-02-05 21:51:58
武田哲也 @__takeda

#RubySilver irb(main):001:0> "A".ord => 65 こんなメソッドあったなんて…。(to_i を選んでしまった) docs.ruby-lang.org/ja/2.1.0/class…

2015-02-05 21:52:28
武田哲也 @__takeda

#RubySilver スクリプトの文字コードを指定する「マジックコメント」。 なんと!「# *coding: 文字コード」形式なら何でもよかったとは…! qiita.com/jnchito/items/… ちなみに「charset」なんか当然ない!(間違えた)

2015-02-05 21:53:10
武田哲也 @__takeda

#RubySilver Enumerable#count docs.ruby-lang.org/ja/2.1.0/class… a = ["foo", "abc", "foo", "def"] "foo"を数えるのは下記どっちでもいける。 a.count("foo") a.grep(/f/).count

2015-02-05 21:54:24
武田哲也 @__takeda

#RubySilver (続き)ちなみに、他にinjectを使った小難しい選択肢もあった。それも合ってたはず。

2015-02-05 21:55:18
武田哲也 @__takeda

#RubySilver Array#delete は指定した要素を「すべて削除」。正解したけどちょと自信なかった。 docs.ruby-lang.org/ja/2.1.0/class…

2015-02-05 21:55:56
武田哲也 @__takeda

#RubySilver "foo\nFOO\nbar\n_foo".grep(/fo/) => NoMethodError これまんまと引っかかったー。Stringにはgrepない! 当然、改行でバラしてマッチする行だけ配列で返す…なんてしてくれるわけない。

2015-02-05 21:58:30
武田哲也 @__takeda

#RubySilver Hash#size について。 irb(main):001:0> h = {a:1, b:2, c:3} => {:a=>1, :b=>2, :c=>3} irb(main):002:0> h.size => 3 そらそうや。

2015-02-05 21:59:00
武田哲也 @__takeda

#RubySilver Hashのシンボル形式キーを文字列で書いてしまった場合 h = {a:1, b:2} # OK h = {"a":1, "b":2} # SyntaxError こんな間違いせーへんから知らんって~!(一応正解)

2015-02-05 22:00:05
武田哲也 @__takeda

#RubySilver File.join("", "ruby") => "/ruby" あ、もしや "./ruby" になったりする??と悩んだ。迷走しなくて正解。

2015-02-05 22:00:47
武田哲也 @__takeda

#RubySilver おなじみ正規表現。ちょっと悩んだやつ。 /\A(Y|y)es\z/ は "Yes" か "yes" にしかマッチしないが、 /\AY|yes\z/ は "Yesitis" とかにもマッチしてしまう。

2015-02-05 22:01:14
武田哲也 @__takeda

#RubySilver (続き)「|」の優先順位が低いため、後者は「/\AY/ か /yes\z/ のどっちか」という意味になってしまうのだろう。

2015-02-05 22:02:24
武田哲也 @__takeda

#RubySilver String#split ref.xaio.jp/ruby/classes/s… 引数patternはデフォルト$;(nil) ⇒ 空白文字(スペースやTABなど)で分割、となる。 空文字列 "" を渡すと全文字を分割。(文字でない所にマッチ、という理屈のはず)

2015-02-05 22:02:54
武田哲也 @__takeda

#RubySilver 以上。 けっこう迷う問題あったなー。94点も取れたのは運が良かった…。

2015-02-05 22:03:47