2019/10/22_チェリー本(15日目)
はじめに
昨日もチェリー本をちょっとだけ読みました。
読んだ本
本編
読んだページ数
- 第4章(P119〜)
新しく知ったこと
文字列を配列に変換する
chars
メソッドを使う
"目肩腰".chars #=> ["目", "肩", "腰"]
文字列が分解されて、各1文字を要素にする配列が作成。 筆者が最近凝り固まっている部分を要素とする配列が完成した。
ミュータブルとイミュータブル
種類 | 意味 | 代表例 |
---|---|---|
ミュータブル (mutable) |
「変更可能な」 →破壊的な変更 ○ |
Stringクラス |
イミュータブル (imutable) |
「変更できない」 →破壊的な変更 ✕ |
Integerクラス Floatクラス Symbolクラス TrueClassクラス FalseClassクラス など |
試しに
bad_condition = :shoulder
に対して以下の実験をしてみました。
bad_condition = :shoulder bad_condition.upcase #=> :SHOULDER bad_condition.upcase! #=> NoMethodError: undefined method `upcase!' for :shoulder:Symbol
イミュータブルであるSymbolクラスのオブジェクトに対して
- 非破壊的メソッド(upcase) → 使えた
- 破壊的メソッド(upcase!)→ エラーになる
という結果になりました。
あとがき
お気づきかと思いますが、今日、めっちゃ肩凝ってます(笑)
以上