---
# System prepended metadata

title: "【第6週】\U0001F352チェリー本輪読会 (2021\\-06\\-28\\~ 2021\\-07\\-02)"
tags: ["チェリー本\U0001F352"]

---

# 【第6週】🍒チェリー本輪読会 (2021\-06\-28\~ 2021\-07\-02)
###### tags: `チェリー本🍒`

[チェリー本 輪読会ノートまとめ \- HackMD](https://hackmd.io/vDXm6tpgTdeHKByO1HK5_Q)

## 目次

[TOC]

## 2021\-06\-28

### 参加者

- @eatplaynap
- @hosso 
- @shirotamaki 
- @yana-gi
- @isshi-hasegawa 
- @yatsuhashi

### 司会
- @eatplaynap
```ruby
%w[eatplaynap isshi-hasegawa hosso yana-gi shirotamaki yatsuhashi obregonia1].sample
```
### ドライバー
- @hosso 
```ruby
%w[isshi-hasegawa hosso yana-gi shirotamaki yatsuhashi obregonia1].sample
  ```
[タイマー](https://timer.onl.jp/)

### スタート地点

- 第4章 4.9.5から

### 疑問点・気づき

#### 第4章 4.9.6まで

- @eatplaynap
  - `for`は`each`で全く同じものとして書き換えできるようで若干違う。
    - `each`に慣れているため、どちらかというと、`for`の中で作成された変数を外で参照できるほうが違和感を感じるが、他の`for`を使う言語だと違和感なかったりするのかな。
  - `in`って何？
  - あえて無限ループを作りたいときはどういうときなんだろう？
    - 例えば rails の起動後とかは止めるまで無限にループしていてほしいはず(:smile_cat: 森塚さん)

- @yatsuhashi 
    - `for`,`while`,`until`は外から変数が参照できる
    - `each`,`loop`は外から参照できない

- @hosso 
    -  `for`、 `while`、`until`は変数が外から参照できるので注意！
    -  `loop`は`break`で条件を書いて抜け出せる。

- @isshi-hasegawa 
    - irbのバージョンアップで解決できたことに驚いた
    - 事情あってあまり集中できなかったのであとでしっかり復習します

- @yana-gi
    - eachのブロック内で定義した変数はブロック外で使えないのに対して、for文の中で定義した変数は使える。
    - るりまにも書いてあった。
    - >「ほぼ」というのは、do ... endまたは{ }によるブロックは新しいローカル変数の有効範囲を導入するのに対し、 for文はローカル変数のスコープに影響を及ぼさない点が異なるからです。
https://docs.ruby-lang.org/ja/latest/doc/spec=2fcontrol.html#for


- @shirotamaki 
    - loopメソッド、eachメソッドは、ブロック変数`n`が外から参照できない。while文、for文、until文は可。
    - loopメソッドは、`break`で脱出できる。
    - for文が、確かほぼ使わない文だった気がするが何故？
        - each文やwhile文等で代用できるから。for文は読みにくい。
    - `irb`がおかしいとき、`gem update irb`　を実行してみる。 

### 振り返り(よかった点・次回に向けての改善点等)

- @eatplaynap 
  - obregoniaさんまだ歯痛に苦しんでるんだろうか？
  - for文使わないなら知らなくてもいいか〜と思ってたけど、人のコードを読むときに挙動を知っていたほうがいいと思うので知れてよかった


- @isshi-hasegawa 
    - スマホでも輪読会に参加できることがwakatta
    - しばらくこのスタイルで参加します

- @yana-gi
    - each文とfor文の変数のスコープの違いは初めて知った。
    - 毎日のようにディスコードの接続不良が起きていて申し訳ない😭アプリアップデートしてみよう

- @yatsuhashi 
    - irbバージョンの発想はなかった

- @hosso 
    - 今日はタイポ多めでした…！
    - 予期しない挙動の時はバージョン違いや古い可能性があるので、 バージョンを確認したり、アップデートを実行してみるのは大切。
    - irb内で`irb_info`を実行するとRubyやirbの情報が見れる！
    ```ruby=
    irb(main):001:0> irb_info
    => 
    Ruby version: 3.0.0
    IRB version: irb 1.3.6 (2021-06-19)
    InputMethod: ReidlineInputMethod with Reline 0.2.6
    RUBY_PLATFORM: x86_64-darwin19
    ```

- @shirotamaki 
    - 普段使わないというか、ほぼ使ったことがないfor文。改めて、使わないな〜と思った...
    - irbのバージョンを確認する方法
        - `gem list`
        - 他の調べる方法
    ```rb
    shiro@shiro:~$ irb
    irb(main):001:0> irb_info
    =>
    Ruby version: 3.0.0
    IRB version: irb 1.3.6 (2021-06-19)
    InputMethod: ReidlineInputMethod with Reline 0.2.6
    RUBY_PLATFORM: x86_64-darwin19
    ```

## 2021\-06\-29

### 参加者

- @eatplaynap
- @shirotamaki 
- @hosso 
- @yana-gi
- @isshi-hasegawa
- @obregonia1 
- @yatsuhashi 

### 司会
- @shirotamaki 

```ruby
%w[eatplaynap isshi-hasegawa hosso yana-gi shirotamaki yatsuhashi obregonia1].sample
```
[タイマー](https://timer.onl.jp/)

### ドライバー
- @yatsuhashi 　

```ruby
%w[isshi-hasegawa hosso yana-gi shirotamaki yatsuhashi obregonia1].sample
  ```

### スタート地点

- 第4章 4.9コラムから

### 疑問点・気づき

#### 第4章 4.10.1まで

- @eatplaynap
  - `Numeric`クラスは`Compareble`モジュールをincludeしている
    - クラスの継承関係の理解がまだかなり曖昧なので、いつかもうちょっと理解できたらいいな〜
  - 制御構造は自分で書いていると訳がわからなくなる。いつも思ったように動いてくれない。書くときの考え方のコツなどがあったら知りたい

- @yana-gi
    - `break`と`return`の違いをちゃんと認識していなかった
        - `break`は`for`や`each`（イテレータ）などのループを脱出する
        - `retrun`はメソッドの実行を終了する
        - https://docs.ruby-lang.org/ja/latest/doc/spec=2fcontrol.html#break

- @isshi-hasegawa 
    - uptoメソッドの戻り値が`Enumerator`クラスだとirbで確認できてよかった

- @hosso 
    - `Enumerator`クラスにまだ慣れていないので、
    ```rb=
    irb(main):001:0> puts 1.upto(5)
    #<Enumerator:0x00007ffa6011ed30>
    => nil
    ```
    - みたいな値が返ってくると「うっ」となる、慣れていきたい。
    - `#<Enumerator:0x00007ffa6011ed30>`最初の2文字の`0x`は16進数の表記の印？でその後の`00007ffa6011ed30`は内部のデータを表す数字？(予想)
    - 繰り返し処理ができる情報が入っているオブジェクト?みたいな認識でいいのかな？

- @yatsuhashi 
    - Enumeratorクラス
    - >each 以外のメソッドにも Enumerable の機能を提供するためのラッパークラスです。
    https://docs.ruby-lang.org/ja/latest/class/Enumerator.html
    - Enumerableモジュール
    - > 繰り返しを行なうクラスのための Mix-in。このモジュールのメソッドは全て each を用いて定義されているので、インクルードするクラスには each が定義されていなければなりません。
https://docs.ruby-lang.org/ja/latest/class/Enumerable.html


- @obregonia1 
    - 入れ子になっている場合一番内側の繰り返しを脱出の意味がわかった

- @shirotamaki 
    - `Enumerator`クラスが`Enumerable`モジュールを`include`しているの意味が理解できた。
    - `break`の使い方がわかった。
    - `nunmbers`（139頁）誤植を発見した！ コントリビュートチャンス！w

### 振り返り(よかった点・次回に向けての改善点等)

- @eatplaynap
  - タマキさんが誤表記見つけてうらやましい
  - 入れ子の繰り返し処理についてやつはしさんの説明でやっと理解できた！さすが応用情報技術者！！

- @isshi-hasegawa 
    - 入力が大変だ

- @yana-gi
    - Hossoさんとyatsuhashiさんの説明はいつも分かりやすい！！
    - :contribute_chance:の絵文字を作ってDiscordに登録しました✌️
        - ワイワイ

- @yatsuhashi 
    - 誤植見つけられる日が来るかなー

- @shirotamaki 
    - 苦手意識があった`Enumerable``Enumerator`。第8章で深堀りしていくときに、さらに理解を深めたい。
    - 誤植記念日
        - 🎉 
    
- @obregonia1 
    - 久々輪読会参加したので勉強頑張ろう
        - 🌵
        - 🌵
        - 🌵
        - 🦷
        - 🦷

- @hosso 
    -  目標:1人1コントリビュート！
    -  `Enumerator`クラスを少し理解できた、yatsuhashiさんの言う通りクラスやモジュールの関係をもう少し理解できたらさらに分かりそう。

## 2021\-06\-30

### 参加者

- @eatplaynap 
- @isshi-hasegawa 
- @hosso 
- @yatsuhashi 
- @obregonia1 

### 司会

```ruby
%w[eatplaynap isshi-hasegawa hosso yana-gi shirotamaki yatsuhashi obregonia1].sample
```
[タイマー](https://timer.onl.jp/)

### ドライバー

```ruby
%w[isshi-hasegawa hosso yana-gi shirotamaki yatsuhashi obregonia1].sample
  ```

### スタート地点

- 第4章 4.10.2から

### 疑問点・気づき

#### 第4章 4.10.3まで

- @eatplaynap 
  - 繰り返し処理の制御には結局`break`を使うのが良さそう
    - 少なくとも`break`で書けるようになるのが第一目標かな
  - `catch`と`throw`のところで「タグ」という言葉が初めて出てきて何のことかと思ったけど、「同じ tag であるとは Object#object_id が同じ」というるりまの説明と、シンボルではなく変数を使って`catch`と`throw`を試したことでなんとなく理解できた
    - [Kernel\.\#catch \(Ruby 3\.0\.0 リファレンスマニュアル\)](https://docs.ruby-lang.org/ja/latest/method/Kernel/m/catch.html)
    - [Kernel\.\#throw \(Ruby 3\.0\.0 リファレンスマニュアル\)](https://docs.ruby-lang.org/ja/latest/method/Kernel/m/throw.html)

- @shirotamaki 
    - `catch`と`throw`　のタグ（通常はシンボルを使う）を使った大域脱出が見慣れないためか、しっくりこない。
    - `break`（繰り返し処理からの脱出）と`return`（メソッドからの脱出）の違いがあることがわかった。

- @isshi-hasegawa 
    - throw は探索時に呼び出しスタックをさかのぼるので、ジャンプ先は同じメソッド内にあるとは限らない
    - もし ensure節 が存在するならジャンプ前に実行する

- @hosso 
    - `break`と`return`の違いは分かったが、 どちらもあまり使ったことがないから「理解できた！」感がそこまでないかも。
        - `catch`と`throw`も同様。

- @obregonia1 
    - catchとthrowの挙動は難しい

- @yaｎa-gi
    - `break`と`return`の違い
        - `break` : 繰り返し処理からの脱出
        - `retrun` : （繰り返し処理のみならず）メソッドからの脱出
            - メソッドの外部からreturnを呼び出した場合はエラーになる

- @yatsuhashi 
    - タグが同じかどうかは`object_id`で判別されている

### 振り返り(よかった点・次回に向けての改善点等)
- @shirotamaki 
    - シンボルは自信がないので、今後出てくるシンボルの章でしっかり理解したい。
    - `catch` `thorow`という単語のスペルの綴りがどうも苦手でよく間違える...汗
        - `throw`だと思います笑
            - あ〜たしかに！笑

- @yana-gi
    - 久しぶりに司会をした！初期の時より司会の負担が軽くなっていて輪読会が常によくなっていると感じる！
    - 違いの内容をしっかり理解できなくても、「違いがある」ということを知るだけでも後々役に立ちそう

- @eatplaynap 
  - 今日の範囲は難しかった〜！タマキさんドライバーお疲れさまです
  - `catch`と`throw`のことは正直よく分からなかったが、シンボルについて少し理解できたのでよかった
  - `return`については普段書かないので挙動がよくわからない。Rubyで動かすとき、書く必要がある場面と必要でない場面があるっぽい

- @isshi-hasegawa 
    - 具体的にどんな実装で大域脱出を使うのか気になる
        - https://github.com/search/advanced で探せば見つかるかも？
          - :kami:
          - すごい

- @hosso 
    - 配列でも後半の箇所は難しい！この後のハッシュとシンボルはいつもこんがらがってしまうのでしっかりやっていきたい。
        - ハッシュを書くときハッシュロケットと「あり・なし」で、位置が変わるのがややこしい。

- @obregonia1 
    - 今日の範囲は難しかったけど、制御構造は少し間違えただけでも意図していない挙動をするので気をつけた方が良さそう

- @yatsuhashi 
    - 途中マイクミュート解除を忘れて独り言状態になってました

## 2021\-07\-01

### 参加者

- @eatplaynap 
- @isshi-hasegawa 
- @hosso 
- @yatsuhashi 
- @obregonia1 
- @shirotamaki 
- @pctapitapitapi

### 司会
- @obregonia1 

```ruby
%w[eatplaynap isshi-hasegawa hosso yana-gi shirotamaki yatsuhashi obregonia1].sample
```
[タイマー](https://timer.onl.jp/)

### ドライバー
- @shirotamaki 
```ruby
%w[isshi-hasegawa hosso yana-gi shirotamaki yatsuhashi obregonia1].sample
  ```

### スタート地点

- 第4章 4.10.4から

### 疑問点・気づき

#### 第4章 4.11（最後）まで

- @eatplaynap
  - 配列の章3週間くらいやってたかな？
  - 制御構造はこういうものがあるくらいしか分からなかった。すきあらば使って身につけたい
  - `redo`と`next`は`break`や`return`よりも直感的に動きが分かりやすい気がする

- @yana-gi
    - `redo`を使う場合は無限ループにならないように`count`変数でやり直しの制限をする。
    - 配列が終わった！！長かった〜
    - 配列の章を通して`Enumerator`（イヌマレーター）クラスや`Enumerable`モジュールの理解が深まった😸
        - 😸
        - 😸😸
        - 😸😸😸

- @shirotamaki 
    - `next` 、`redo`　は使い勝手が良さそう。
    - 名前も動きとリンクしているのでイメージがつきやすい。
    - 配列は普段からも一番お世話になっている内容だったので、今回輪読会で深堀りできてよかった。自信がついた。
    - `irb`は、 macだと`option`+`Enter`で行を挿入できる（ユニさんありがとうごうございます！）

- @isshi-hasegawa 
    - 繰り返し処理のうち、特定の条件に該当する回だけ飛ばしたいという実装はかなりありそう

- @hosso 
    - `next`は直感的に分かりやすかったかな？`redo`時に離席していたので後で見返しておきます！
    - 配列の章終わり！配列の知識がしっかりついた感じがするかも。配列の章に出てくるメソッドの挙動も憶えた！

- @obregonia1 
    - `next`や`redo`をキメて気持ちよくなりたい。。。

- @yatsuhashi 
    - 配列長かった！
    - `break`、`next`は`while`、`until`、`for`の中でも使える

- @pctapitapitapi 
    - 初めて参加させて頂きました、よろしくお願いします🙇‍♀️
        - ワイワイ
        - 🙌
        - 🙌🙌
        - 🥳
        - :tada: 
    - カレンダープログラムで```next```を使ってみましたが上手くいきませんでした😅使い方はシンプルですが実際に使うと上手く使えなかったので```redo```も合わせて積極的に使っていって、ここぞという使い方を理解していきたいです。

#### 第5章 5.2.3まで

- @eatplaynap
   - 5.2の最初で「他の言語では連想配列やディクショナリ(辞書)、マップ」と呼ばれるとあるが、Rubyのmapメソッドと何か関係あるんでしょうか？
     - Javaだと連想配列をマップと呼ぶ
     - もともと写像という意味
    ![](https://i.imgur.com/4cH5JvS.png)
   - SetオブジェクトはHashのキーだけらしい〜

- @shirotamaki 
    - ハッシュの基本はSinatraで使ったところだったので理解しやすかった。
    - デフォルト、初期値については、知らなかったので勉強になった。
    - [Hash\.new \(Ruby 3\.0\.0 リファレンスマニュアル\)](https://docs.ruby-lang.org/ja/latest/method/Hash/s/new.html)
    - ハッシュも奥が深そうだ。輪読会を通して理解を深めたい。
    - [数]写像 /map /mapping/ 　集合mの任意の要素に対し、集合nの一つの要素を対応させる規則をmからnへの写像という。

- @yana-gi 
   -  Hashオブジェクトを`{}`や`Hash.new`（引数を指定しない）で作成した場合、存在しないキーを呼び出すと`nil`が返ってくる。
        ```ruby
        irb(main):028:0> h = Hash.new
        => {}
        irb(main):029:0> h[0]
        => nil
        irb(main):030:0> h['foo']
        => nil
        ```
    - `Hash.new`に引数を渡してデフォルト値を設定した場合、存在しないキーを呼び出すとそのデフォルト値が返ってくる。Hash自体には登録されない。
        ```ruby
        irb(main):025:0> h = Hash.new('hoge')
        => {}
        irb(main):026:0> h[0]
        => “hoge”
        irb(main):027:0> h['foo']
        => “hoge”
        irb(main):095:0> h
        => {}
        ```
    - `Hash.new`にブロックパラメーターを渡すと、存在しないキーを呼び出した際にハッシュにkeyとデフォルト値のvalueが登録される。
        ```ruby
        irb(main):085:0> h = Hash.new {|h,key| h[key] = 'hoge'}
        => {}
        irb(main):086:0> h[0]
        => “hoge”
        irb(main):087:0> h
        => {0=>"hoge"}
        irb(main):089:0> h['foo']
        => “hoge
        irb(main):090:0> h
        => {0=>"hoge", “foo”=>"hoge"}
        irb(main):091:0> 
        ```
        参考：https://docs.ruby-lang.org/ja/latest/method/Hash/s/new.html

- @isshi-hasegawa 
    - @yatsuhashi さんのおかげで、るりまが読めるようになった
    - [Hash\#fetch \(Ruby 3\.0\.0 リファレンスマニュアル\)](https://docs.ruby-lang.org/ja/latest/method/Hash/i/fetch.html)
    - `key に関連づけられた値を返します。該当するキーが登録されていない時には、引数 default が与えられていればその値を、ブロックが与えられていればそのブロックを評価した値を返します。`

- @obregonia1 
    - ハッシュのデフォルト値について理解できてよかった

- @yatsuhashi 
    - `Set`オブジェクトと`Hash`が関係あるのは知らなかった

- @pctapitapitapi 
    - ハッシュずっと苦手だったんですが、今回輪読会で一緒に勉強出来て質問させてもらえるのでとても勉強になっています、ありがとうございます🙇‍♀️
    - ハッシュのデフォルト値について理解できたのですが、最後のブロックでデフォルト値を指定するやつがちょっと分かりにくかったです。なるほどるりまに書いてあるんですねすごい。。。
```ruby=
new {|hash, key| ... } -> Hash
```

### 振り返り(よかった点・次回に向けての改善点等)

- @eatplaynap 
  - さすがに2時間やると結構進む！
  - 休憩の区切りがわからん…なんか意見ください〜
      - 1サイクル終わったタイミングでいいと思った
  - やつはしさんの深堀りはいつもためになる💪
  - 司会のobregoniaさんが初参加のpctapitapitapiさんを気遣っていたのがさすがと思った
      - 完全に同意
      - ありがたし🙏
      - :sorena:
      - 👍

- @yana-gi 
    - 今日は進んだだけじゃなくてHashの深掘りもできたのでボリュームたっぷりだった。満足😊
    - るりまがちょっとずつ読めるようになってる……！
    - ぺろさん初参加なのに質問していてすごい！
　　　　　 - みなさんの雰囲気が素敵なので質問できました、ありがとうございます！
- @isshi-hasegawa 
    - 週6時間ペース良い！
    - 週の1日だけ長いとメリハリがある
    - 単純計算で、5周目までで25時間Rubyを勉強してる

- @yatsuhashi 
    - あっという間に6週目まで来てすごい
    - yana-giさんの言葉、とてもよかった
        - 😍
        - :yatta:

- @pctapitapitapi 
    - 実際に参加してみると輪読会で話している内容の解像度が全然違いました。今回でハッシュ嫌いが改善できるかもしれません
    - みなさん気を遣ってくださって本当にありがたかったです、お互いを尊敬しあう素敵な関係を築かれていて素晴らしいなと感じました、優しい世界に感謝🙏
        - エモい！！いい話！！


- @shirotamaki 
    - 2時間も案外あっという間だった〜
    - 週一なら全然問題なさそう。
    - 新しくぺこさんも来てくれて嬉しい
      - ぺろさんですね…笑！！
      - pctapitapitapiでもかまいませんよ👍
          - すいません🙏


- @obregonia1 
    - ペロさん初参加で質問できてていいと思いました👏
        - 司会お疲れ様でした！
        - みなさんの雰囲気がいいので質問できました！みなさんのお陰です🙇‍♀️


## 2021\-07\-02

### 参加者

- @eatplaynap 
- @shirotamaki 
- @hosso 
- @isshi-hasegawa 
- @yana-gi
- @pctapitapitapi 
- @obregonia1 
- @yatsuhashi 

### 司会

- @eatplaynap
```ruby
%w[eatplaynap isshi-hasegawa hosso yana-gi shirotamaki yatsuhashi obregonia1].sample
```
[タイマー](https://timer.onl.jp/)

### ドライバー
 
```ruby
%w[isshi-hasegawa hosso yana-gi shirotamaki yatsuhashi obregonia1].sample
  ```

### スタート地点

- 第5章 5.3から

### 疑問点・気づき

#### 第5章 5.3.2まで

- @eatplaynap 
  - シンボルは整数→わかる
  - 実行環境によって`object_id`が異なる→わからん(整数の`object_id`はどの実行環境でも同じという認識)
  - Sinatraでハッシュを取り出すとき、`['hoge']`という書き方と`[:hoge]`という書き方をわけもわからず混在させていたのでシンボルで書き直してみようと思った

- @yana-gi 
    - 「表面的には文字列と同じように見えますが、その中身は整数なのです」にずっと？？？状態だったけど、今日の輪読会とるりまのこの説明で理解できた。
        > シンボルは、ソース上では文字列のように見え、内部では整数として扱われる、両者を仲立ちするような存在です。
    https://docs.ruby-lang.org/ja/latest/class/Symbol.html

- @shirotamaki 
    - シンボルが高速である以外の事が理解できた
    - 特にハッシュで使ってやっと理解できた
    - 内部的に整数
    - `'apple'.methods` `:apple.methods`は、StringとSymbolクラスのメソッドを返している。`apple`じゃなくても同じ。
    - [class String \(Ruby 3\.0\.0 リファレンスマニュアル\)](https://docs.ruby-lang.org/ja/3.0.0/class/String.html)
    - [class Symbol \(Ruby 3\.0\.0 リファレンスマニュアル\)](https://docs.ruby-lang.org/ja/latest/class/Symbol.html)


- @isshi-hasegawa 
    - `Symbol`クラスのメソッドを色々考察できてよかった
    - `Object#object_id`を意識することで、どういう操作をしたらメモリ空間に生成されるかなんとなく理解できた

- @hosso 

    - シンボルは「内部的には整数」
    - `catch`と`throw`のタグを整数で指定しても問題なく実行できました。
    ```ruby=
    # チェリー本4.10.2、catchとthrowのコード例のタグを整数の1で指定
    irb(main):020:0> numbers = [1,2,3,4]
    => [1, 2, 3, 4]
    irb(main):021:0> fruits = ['apple', 'melon', 'orange']
    => ["apple", "melon", "orange"]
    irb(main):022:1* catch 1 do
    irb(main):023:2*   fruits.shuffle.each do |fruit|
    irb(main):024:3*     numbers.shuffle.each do |n|
    irb(main):025:3*       puts "#{fruit}, #{n}"
    irb(main):026:4*       if fruit == 'orange' && n == 3
    irb(main):027:4*         throw 1
    irb(main):028:3*       end
    irb(main):029:2*     end
    irb(main):030:1*   end
    irb(main):031:0> end
    ```

- @obregonia1 
    - シンボルは速いみたいなイメージだったけど内部的に整数だから速いことがわかった

- @pctapitapitapi 
    - 文字列とシンボルの違いがやっと理解できた、気がする
    - 一番なるほどできた言葉、るりまに書いてあった
     >文字列そのものが必要なわけではない時にシンボルを使用
    - ハッシュもシンボルも使い所がまだ分からないので、積極的に使うように心がけていきたい

- @yatsuhashi
    - シンボルは文字列と1対1で対応している

### 振り返り(よかった点・次回に向けての改善点等)

- @eatplaynap 
  - 1人1個は毎回質問が出るのでよい
    - けど、もうちょっと人数少なめの方が全員話せそうだからグループ分けしてもいいかな〜〜
  - ぺろさんが質問してくれて`catch`と`throw`の復習できてよかった
  　　　- こちらこそ、ありがとうございます🙇‍♀️
  - タイムキープ難しい

- @yana-gi 
    - よく分かってないけど雰囲気で使っているものランキング上位だったシンボルのことが前より理解できてよかった！
    - みんな当たり前のように手元でるりまを読んでいて素晴らしい
        - 👍

- @isshi-hasegawa 
    - たしかに発言回数減ってるのかも…？

- @hosso
    - ドライバーの方の画面見つつ、自分の手元でも動かしつつでかなりirbの練習になる。
        - 自分の手元でも動かしたい（切実）
            - 😭
            - 😭😭
            - 😭😭😭
    - シンボルよくわからん状態から少し抜け出せたかな？
    - 理解に自身のない章をみんなでやっていくのは楽しいですね！
        - :washimo::souomou:


- @yatsuhashi 
    - シンボルの特徴を理解した
    - シンボルの方が早い、というのが効いてくるとこがあるんだろうなー

- @shirotamaki 
    - さらっと分かっている気でいたシンボルだが、少しづつ理解できてきたのでよかった。
    - 引き続き第5章で取り上げていくなかでさらに深く理解したい。
    - 昨日は2時間だったからか、少し物足りないかも。
    - たしかに`irb`と`るりま力`が上がってきた。特に`irb`は今まで全然使えていなかったが、だいぶ使えるようになってきた。
    - モブプロはできるだけ手元を見ないのが原則（駒形さん）
    - 自分の手元で気づいたことは共有した方がいい（yana-giさん）
        - :subarashi:
    - Discordに貼ったりして共有

- @obregonia1 
    - Railsでは割とシンボルを使うことが多いから、シンボルについて理解していた方が良さそう

- @pctapitapitapi 
    - 自分一人ではシンボルのことこんなに深掘らないので、みんなで話し合って自分からは出てこない意見とか案が聞けるのがありがたいです。
    - ドライバーやるの難しそうだなと思いました、自分がirb使う時もたつきそう、緊張