Ruby研修初日
今日の作業
depotのテストケースの作成
Ruby研修サポート
今日の作業でわかったこと&わからなかったこと
今日はRuby研修にサポート役として参加しました。
僕はRubyの勉強を初めてい1ヶ月と七日になります。
その勉強法としてRuby文法の勉強はRailsアプリを作りながらわからないことがあったら、
その都度調べるやり方でやってきた。
だから今回の研修ではまだ今までに出会っていない文法を知ることができたり、
知っていた文法についても今まで以上に理解が深まったと思う。
Ruby研修はあと二日あるので有効活用していきたい。
明日やること
depotのテストケースの作成
Ruby研修サポート
調べたことのまとめ
シンボルについて
Railsでシンボルが多用されている理由がわからなかった。
そもそもシンボル自体なんなのかを調べてみた。
RailsによるアジャイルWebアプリケーション開発には
シンボルとは、文字リテラルがマジックによって定数に変えられたもので、 別の捉え方として、コロンは「と名付けられたもの」を表している。 つまり:idは「idと名付けられたもの」ということになる。
とあった。ん〜いまいちわからないのでネットで調べた。
シンボルとは文字列みたいなものでコロンのあとに続けて文字を書けば、
リテラルとしてSymbolクラスのオブジェクトになる。
irb(main):001:0> a = :id => :id irb(main):002:0> a.class => Symbol
Stringクラスのオブジェクトとの違いは同じ名前のシンボルは、
必ず同じオブジェクトになる。
irb(main):003:0> :id.object_id => 30498 irb(main):004:0> 'id'.object_id => -605520998 irb(main):005:0> :id.object_id => 30498 irb(main):006:0> 'id'.object_id => -605546898
文字列は毎回オブジェクトを生成しているけど、シンボルは常に同じオブジェクトになる。
よって'id'と書くと毎回Stringの'id'を生成するが、:idと書くと初回しか生成しないため速度が
向上する。
Rubyの可視性
public | 全てのオブジェクトから参照可能 |
protected | 自クラスおよびサブクラスからのみ参照可能 |
private | 関数形式でのみ、自クラスおよびサブクラスから参照可能 |