---
title: #odewc Ruby に入門してみた話
tags:  #オホーツク #okhotsk dew community #網走 #勉強会 #ruby #ファーストインプレッション  
author: [熊谷友宏](https://docswell.com/user/es_kumagai)
site: [Docswell](https://www.docswell.com/)
thumbnail: https://bcdn.docswell.com/page/P7RG3DV9J9.jpg?width=480
description: 2025/12/07 に開催された「Okhotsk DEW Community IT交流・勉強会@網走」で発表した資料です。  気になりつつも触れてくることのなかった Ruby 言語を、この勉強会の主催者が Ruby に親しんでらしているのを機会にして、普段は Swift 言語を中心に扱っている自分もいよいよ初めての Ruby 入門を果たしてみることにしました。そのファーストインプレッションを紹介してみる試みの資料です。
published: December 08, 25
canonical: https://docswell.com/s/es_kumagai/KQXDX3-2025-12-08-031329
---
# Page. 1

![Page Image](https://bcdn.docswell.com/page/P7RG3DV9J9.jpg)

Ruby に
入門してみた話
熊谷友宏
@es̲kumagai
2025/12/07 … DEW Community IT交流・勉強会@網走


# Page. 2

![Page Image](https://bcdn.docswell.com/page/PJXX41Z3JX.jpg)

▶︎
▶︎
▶︎
▶︎
熊谷 友宏
Tomohiro Kumagai
Swift 言語が好み
みんなで楽しむ勉強会が好み
プログラミングの楽しさを伝えていきたい
同人誌即売会への出展に夢中


# Page. 3

![Page Image](https://bcdn.docswell.com/page/3JKWZ28NJD.jpg)

近況 &amp; 活動


# Page. 4

![Page Image](https://bcdn.docswell.com/page/LE31D42Z75.jpg)

近況 &amp; 活動
同人誌即売会
コミックマーケット 107
2025/12/31 @ 東京・ビッグサイト
AIR旅チケット2 in セントレア
2026/03/07 @ 愛知・中部国際空港
技術書典20（未定）
2026/04/吉日 @ 東京・池袋？


# Page. 5

![Page Image](https://bcdn.docswell.com/page/8EDXPQZ4JG.jpg)

▶︎
▶︎
▶︎
▶︎
近況 &amp; 活動
熊谷さんのやさしい Swift 勉強会
2021/07/14 〜 2025/11/30 まで開催
株式会社ゆめみさんの社内勉強会 全602回 を完遂
•
•
片岡さん（社長）の「業界に貢献したい」を受けて一般公開を開始
アクセンチュアへの移行により開催終了
習慣化の価値を実感した
コードレビューをする中で、言語の 基礎は実務でも重要 と知った
• レビューを通して基礎を教えていけたら楽しそう（需要あります？）
自分の YouTube チャンネルで、2025/12/03 より
「やさしい Swift 勉強会 ＊ SEASON 2」としてリスタート


# Page. 6

![Page Image](https://bcdn.docswell.com/page/V7PPNLDV78.jpg)

今日、訪問までの経緯


# Page. 7

![Page Image](https://bcdn.docswell.com/page/2JV2KQ1RJQ.jpg)

▶︎
訪問までの経緯
気になった。
2025/07/26
TechRAMEN 2025 Conference での発表のひとコマ
ただ、すこし
遠いな …？
ないならつくる ̶ を実現できる精神が素敵。これは訪れたい。


# Page. 8

![Page Image](https://bcdn.docswell.com/page/5EGRQW26JL.jpg)

訪問までの経緯
決まった。
2025/10/26
千歳ゆるい勉強会 vol.6 での発表のひとコマ
「５時間ほど電車に乗っていれば着きますから」
なるほど …？


# Page. 9

![Page Image](https://bcdn.docswell.com/page/4JQVK3P27P.jpg)

話題は何にしよう？


# Page. 10

![Page Image](https://bcdn.docswell.com/page/K74MP1YPJ1.jpg)

回想
2025/10/26
千歳ゆるい勉強会 vol.6 での歓談のひとコマ
「主催が Ruby まわりの人なので、
私も Ruby の話をしようと入門の真っ最中」
それだ
⋯
⋯
訪問までの経緯
！


# Page. 11

![Page Image](https://bcdn.docswell.com/page/LJ189G6XEG.jpg)

話題確定


# Page. 12

![Page Image](https://bcdn.docswell.com/page/GJWZQKWKJ2.jpg)

▶︎
▶︎
話題確定
Ruby 言語に、入門してみた。
ついでに YouTube Live で配信してみる
• その都合、題材は無料公開されているものが良い
現状、入門はまだ志なかば


# Page. 13

![Page Image](https://bcdn.docswell.com/page/4EZ1WZ5N73.jpg)

▶︎
▶︎
▶︎
▶︎
Ruby に入門してみた
入門前の印象
Ruby といえば「国産言語」
楽しく書けるらしい？
Perl に続く言語？
島根県松江市に好印象


# Page. 14

![Page Image](https://bcdn.docswell.com/page/Y76LGZ99JV.jpg)

▶︎
▶︎
▶︎
選んだ題材
• Ruby 公式ドキュメント（英語版）
• 英語版のほうが情報が豊富？（国産言語でも英語が先導？）
• この中から無料公開されているもの限定で選択
Installing Ruby
Try Ruby
Learn to Program


# Page. 15

![Page Image](https://bcdn.docswell.com/page/G751VWNDE4.jpg)

THE
FIRST IMPRESSION of Ruby


# Page. 16

![Page Image](https://bcdn.docswell.com/page/9J213Q8M7R.jpg)

Installing Ruby


# Page. 17

![Page Image](https://bcdn.docswell.com/page/DEYZ1W6P7M.jpg)

▶︎
▶︎
▶︎
▶︎
▶︎
First Impression
Installing Ruby
インストールが難しい
•
最新版は
3.4.7
の様子
•
システムには既に 2.6.10 がある様子
最新版を入れて使うもの？
Homebrew からのインストールは失敗
•
ソースコードから入れてみたが
既存のバージョンが動いてしまう → パスを設定して解決
rubyenv みたいなものは使はない？（説明に登場しない）
思いのほか、インストールで分からないことが多かった感


# Page. 18

![Page Image](https://bcdn.docswell.com/page/VJN329ZMJ8.jpg)

Try Ruby


# Page. 19

![Page Image](https://bcdn.docswell.com/page/YE9912ZWE3.jpg)

▶︎
▶︎
▶︎
First Impression
Try Ruby
英語版のサイトから辿って、日本語のページに着いた
•
さすが、国産言語？
でも明らかに書いたのは日本人ではなさそう
•
ノリが日本人の感性ではない
脈絡のない展開が、逆に魅力かもしれない
•
プログラミングを知っていても、まったく知らなくても、
平等に Ruby を感じられそうなアプローチ


# Page. 20

![Page Image](https://bcdn.docswell.com/page/GE89451R7D.jpg)

▶︎
▶︎
▶︎
▶︎
First Impression
Try Ruby
親しみやすい言語構文
•
Perl
言語らしさ
•
C 言語らしさ
オブジェクト指向に素直な印象
型に緩いが、緩すぎない感
副作用の伴うメソッドに ! を付ける慣習に好印象


# Page. 21

![Page Image](https://bcdn.docswell.com/page/LELW6YQ2JR.jpg)

▶︎
▶︎
▶︎
▶︎
▶︎
First Impression
Try Ruby
個性を感じるところ
•
revers, lines, 文字列への掛け算, シンボル
ブロック（クロージャー）まであるのすごい
•
モダンな感じがする（Ruby 当初からある？ 先見性？）
times が &quot;良い&quot; と感じる（普通ならアンチパターンに思えそう）
直感的に書ける印象
if を後置できるの、とても良い


# Page. 22

![Page Image](https://bcdn.docswell.com/page/4JM95N19EW.jpg)

▶︎
First Impression
Try Ruby
クラスのつくりが独特な印象
•
アクセサーまわりが面白いアプローチに感じる
•
記号が独特に見える（慣れが必要？）
•
記述が素直でわかりやすい印象
- :アクセサー名
←これは、シンボル表記？
- @オブジェクト変数名


# Page. 23

![Page Image](https://bcdn.docswell.com/page/PJRG3DL9E9.jpg)

▶︎
▶︎
▶︎
▶︎
▶︎
First Impression
Try Ruby 総評
数値も文字もオブジェクトとして捉える姿勢に好印象
オブジェクト指向がきれいに描ける印象
わかりやすい言語な印象
•
ここまでの知識で「なんとなく書いてみる」が出来た
動的型付けと型チェックのバランスが絶妙に思える
こんなにきれいな言語が
既に 2000 年にあったと思うと革新的


# Page. 24

![Page Image](https://bcdn.docswell.com/page/PEXX41W3EX.jpg)

Learn to Program


# Page. 25

![Page Image](https://bcdn.docswell.com/page/3EKWZ2VNED.jpg)

▶︎
▶︎
▶︎
▶︎
First Impression
Learn to Program
Getting Started ̶ はじめに
Ruby 自体の話は出てこない章だった
著者の Ruby 愛がたくさん伝わってくる感
初学者向けの本を想定したらしい
•
どう教えると良いかの考察が参考になった
2004 年頃までの更新で、最新情報は書籍版を買うと良いらしい
•
無料の網羅的な学習教材は無いもの？


# Page. 26

![Page Image](https://bcdn.docswell.com/page/L731D4MZJ5.jpg)

▶︎
▶︎
First Impression
Learn to Program
Numbers ̶ 数値
日常の感覚で直感的に扱えそう
プログラミングとしても一般的な動き
• 整数の切り捨て
• 浮動小数点数での表現


# Page. 27

![Page Image](https://bcdn.docswell.com/page/87DXPQ64EG.jpg)

▶︎
▶︎
▶︎
First Impression
Learn to Program
Letters ̶ 文字
機能も豊富で、扱いやすそう
程よい演算性
•
掛け算が斬新
程よい型変換性
• 勝手に数値を文字列と見做さないのが好印象


# Page. 28

![Page Image](https://bcdn.docswell.com/page/VJPPNLYVJ8.jpg)

▶︎
▶︎
▶︎
▶︎
▶︎
First Impression
Learn to Program
Variables and Assignment ̶ 変数と代入
宣言がない？
•
2000年頃のスクリプト言語では自然なスタイル
代入しないと使えないのが好印象
違う種類の値を再代入できるのに驚く印象（自然ではある）
最初の文字で &quot;変数&quot; か &quot;定数&quot; かを判断するの、面白い
数値と文字は、代入時にコピー扱い？（オブジェクトでも特例？）
•
クラスは参照扱い？


# Page. 29

![Page Image](https://bcdn.docswell.com/page/2EV2KQGREQ.jpg)

▶︎
▶︎
▶︎
First Impression
Learn to Program
Mixing It Up ̶ 整数・小数・文字を併せて扱う
異なる種類の値どうしを演算するとき、
基本的には変換メソッドを使って意図を明確にするの、良い
puts が to̲s メソッドでテキスト表現するの、今時っぽい
gets を chomp する ̶ のは自然だけれど、
あらためて思うと不思議な文化


# Page. 30

![Page Image](https://bcdn.docswell.com/page/57GRQW86EL.jpg)

▶︎
▶︎
▶︎
▶︎
▶︎
▶︎
First Impression
Learn to Program
More About Methods ̶ メソッドについて詳しく
演算子もインスタンスメソッドとか、唆られる
プログラム全体をオブジェクトと捉える考え方、見事な印象
文字の配置揃えするメソッドが標準であるの、面白い着眼点
累乗の演算子があるの、嬉しい気がする
なぜ rand は、数値ではなく self に持たせたのだろう？
高度な数学演算を Math が持つ ̶ は自然だけれど、
あらためて思うと不思議な文化


# Page. 31

![Page Image](https://bcdn.docswell.com/page/4EQVK392JP.jpg)

▶︎
▶︎
▶︎
▶︎
▶︎
First Impression
Learn to Program
Flow Control ̶ フロー制御
比較演算子は一般的
真偽値がオブジェクトで用意されているの、好印象
if then 〜 elsif 〜 else 〜 end と while が登場した
• case も有るっぽい（紹介はなかった）
プログラムの文化でありがちな表現方法 ̶
重複の回避を「怠け者だから」で説明するの、微妙に思う価値観
論理演算子は or, and, not なのね（読みやすそう）


# Page. 32

![Page Image](https://bcdn.docswell.com/page/KJ4MP1XPE1.jpg)

▶︎
▶︎
▶︎
▶︎
▶︎
First Impression
Learn to Program
Array and Iterators ̶ 配列と反復器
配列表現も一般的（ゼロから始まるインデックス）
• 直感的に操作ができそう
範囲外アクセスで nil が得られるの、良さと怖さを感じる
each メソッドと do 〜 end の表現が、今時っぽい
times メソッドが嬉しい印象（個性も感じる）
puts が、配列の各要素に対して実施される特例、興味深い


# Page. 33

![Page Image](https://bcdn.docswell.com/page/LE189GNX7G.jpg)

▶︎
▶︎
▶︎
▶︎
First Impression
Learn to Program
Writing Your Own Methods ̶ 独自メソッドの定義
def 〜 end で定義するの、綺麗な気がする
• 字面的に「定義」→「メソッド」なところ、シンプルさを感じる
ローカル変数があるの、安心
メソッドは、値を必ず返すことになるらしい
• 最終行
• return による早期復帰


# Page. 34

![Page Image](https://bcdn.docswell.com/page/GEWZQK4KE2.jpg)

▶︎
▶︎
First Impression
Learn to Program
Classes ̶ クラス
大文字で始まる名前をつける決まり、上手かもしれない
インスタンスを生成するのに new を使う（メソッド？）
•
Integer.new
は出来ない（オブジェクトが微妙に不徹底？）
•
Array.new と String.new は、出来るがあまり使わない


# Page. 35

![Page Image](https://bcdn.docswell.com/page/47Z1WZ2NJ3.jpg)

▶︎
▶︎
First Impression
Learn to Program
Classes ̶ クラス
Time クラスが用意されている
•
扱いが気持ちよさそう
•
秒数で加算できるの、Ruby らしく感じるような
Hash クラスが用意されている
• ハッシュマップ
• 任意のオブジェクトをキーにできるらしい
- クラスも？ Hash も？
- どう判定する？ アドレス？ 内容？


# Page. 36

![Page Image](https://bcdn.docswell.com/page/YJ6LGZV9EV.jpg)

▶︎
▶︎
First Impression
Learn to Program
Classes ̶ クラス
クラスを拡張できるの、すごい
•
Objective-C
や
JavaScript
でも出来てはいたが
•
Swift や Rust の独特な特色と聞くことが多かった
オブジェクト指向を徹底できそう
• 可読性・記述性が良さそう
• ダックタイピングと組み合わせた応用力も期待できる？


# Page. 37

![Page Image](https://bcdn.docswell.com/page/GJ51VWDD74.jpg)

▶︎
▶︎
▶︎
First Impression
Learn to Program
Classes ̶ クラス
クラス定義の仕方は独特な印象
• オブジェクト指向が広まっていない時代の言語だから？
インスタンス変数に @ が付くの、明瞭で良さそう
private 指定できるの、良い（出来ない言語も意外とある感）


# Page. 38

![Page Image](https://bcdn.docswell.com/page/LE31DYQQ75.jpg)

▶︎
▶︎
▶︎
▶︎
First Impression
Learn to Program
Blocks and Procs ̶ ブロックとプロシージャー
いわゆるクロージャーがあるの、嬉しい
• Proc オブジェクトでブロックを包むの、独特な印象
• 最後の引数 &amp; で名前をつけると自動で Proc で包まれるの良い
do 〜 end でブロックを作るの、きれい
呼び出しは call メソッドでする
メソッドはオブジェクトではないから渡せない ̶
この棲み分けは特徴的な印象


# Page. 39

![Page Image](https://bcdn.docswell.com/page/8EDXP59WJG.jpg)

▶︎
▶︎
First Impression
Learn to Program
Beyond This Tutorial ̶ チュートリアルを越えて
Ruby の情報を得る場所が紹介されているの、良い
•
Pickaxe
̶
大きな疑問は
&quot;Programming
Ruby&quot;
を読む
•
Ruby-Talk
̶
自身で解決できないときは、メーリングリスト
•
IRB
̶ 小さな疑問を試行錯誤するのに便利なコマンド
いろいろなやり方があること、
それを意識的に省いてきたことが綴られているの、良い


# Page. 40

![Page Image](https://bcdn.docswell.com/page/V7PPNGZX78.jpg)

▶︎
▶︎
▶︎
▶︎
First Impression
Learn to Program 総評
すべてをオブジェクトに所属させる感性、すごい
Ruby 言語に関するひととおりの扱いに触れられた
紹介されていない基本機能が多いのは、なんとなく気になる
•
著者のこだわりの中では、上手に描けている印象
•
自分がほかの言語を習得しているからかもしれない
総じて、Ruby をひととおり学べるが、最低限、
機能を網羅的に紹介する本を追加で読みたい印象
•
存在を知らないことには、発想できない


# Page. 41

![Page Image](https://bcdn.docswell.com/page/2JV2K6W3JQ.jpg)

▶︎
▶︎
▶︎
Enjoy! Ruby
Thank you
わかりやすい言語な印象
たしかに「楽しい」かもしれない
学習教材は、少ない？
熊谷友宏
@es̲kumagai


