Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Rubyらしさとは?
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Aki Nakahara
May 22, 2025
Programming
30
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Rubyらしさとは?
Aki Nakahara
May 22, 2025
More Decks by Aki Nakahara
See All by Aki Nakahara
AIに丸投げしない!Angularメジャーアップデートで実践したAI活用法
akinko_0915
0
33
SidekiqでAIに商品説明を生成させてみた
akinko_0915
0
210
はじめてのWeb API体験 ー 飲食店検索アプリを作ろうー
akinko_0915
0
300
ワイガヤLT会 #2:gitの「めんどくさい」を解決
akinko_0915
0
26
Other Decks in Programming
See All in Programming
AIに既存システムを理解させる技術 ~レガシーを見捨てないハーネスエンジニアリング入門~
ochtum
0
200
書籍「プロフェッショナルAI駆動開発」紹介スライド
juntaromatsumoto
0
980
Webエンジニアなのにブラウザの仕組みがわからないので、Pythonで自作してみた
tatsuki12
4
1.7k
FastAPI の並行処理モデルを完全に理解する
hoto17296
9
3.7k
ハーネス設計入門 〜プロンプト、コンテキストの次〜
kinopeee
53
35k
信頼性の目標を誰も求めてない
shubox
0
490
異なる設計思想のフレームワークを経験して得た学び
amekuhideki
2
1.5k
Seeing Through Serverless: Observability for AWS Lambda with ADOT and CloudWatch Application Signals
seike460
PRO
1
120
Oxlintはいいぞ(続)
yug1224
1
540
XP祭りでしか伝わらないフリップネタ #xpjug
murabayashi
0
110
リアルな遅延を測る仕様
kota_yata
1
140
AI時代に学ぶ 好きなルール 嫌いなルール Linter編
shorty5121
0
830
Featured
See All Featured
How to Ace a Technical Interview
jacobian
281
24k
Avoiding the “Bad Training, Faster” Trap in the Age of AI
tmiket
0
230
Site-Speed That Sticks
csswizardry
13
1.5k
Data-driven link building: lessons from a $708K investment (BrightonSEO talk)
szymonslowik
1
1.3k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
254
22k
Conquering PDFs: document understanding beyond plain text
inesmontani
PRO
4
3k
Optimizing for Happiness
mojombo
378
71k
The Curious Case for Waylosing
cassininazir
1
490
Claude Code のすすめ
schroneko
67
230k
Tell your own story through comics
letsgokoyo
1
1.1k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
32
3k
Impact Scores and Hybrid Strategies: The future of link building
tamaranovitovic
0
430
Transcript
Rubyらしさとは akinko0915 (あきんこ)
自己紹介 akinko0915 (あきんこ) 中原 暁 (なかはら あき) Classi株式会社 25卒 JavaScriptと非同期処理を極めるために特訓中
Zennで学習記録投稿中!(@akinko0915) Podcast配信中 (前向くラジオ)
カレンダーアプリのプラクティスで受けた指摘 発表テーマの背景
Rubyらしいコードとは・・・?
Rubyist Magazineにも「Rubyらしさ」について語られている 多くのライブラリが別途インストールする必要なく使えるよう になり、利便性は非常に高まったのだが、いくつかのライブラ リに関しては「Ruby らしくない」 という評価を聞いた。具 体的には、メソッドの名前付けや挙動が Ruby の標準的なクラ
スのそれとずれがある、といった指摘である。 こうなると、 Ruby を使う上での直感が効きにくくなるため、 プログラミン グにも影響を及ぼす。 しかしこのような「Ruby らしさ」は 明文化されていないため、 共有がしづらい 「Rubyらしさ」について Rubyist Magazine 0003号 巻頭言 るびま編集長 高橋征義
自分なりに「Rubyらしさ」を 定義してみたい
Rubyならでは! と思った書き方3つ
❶ 繰り返し処理 Array や Hash は Enumerable モジュールを include しているため、each,
map, select, each_with_index などの 繰り返しメソッドが使える
each_with_index
メソッドをうまく活用することができれば 繰り返し分の中でより幅広い処理を 簡潔に実装できるようになる
❷ 条件分岐の書き方 否定条件の書き方 後置でunlessを使用する
❷ 条件分岐の書き方 後置if 後置でifを使用する
endがなく1行で処理を完結させることができる 後置if やunlessにすることで 英語の表現のように書くことができ 人間が読みやすいコードになっている
❸ timesを使う 3.timesとすることで 「3回繰り返す」ことが わかりやすく表現されている
直感的に意図を 読み取ることができるコード
Rubyのメソッドを使い、様々な処理を簡潔 に表現できるコード 人間が話すような言葉で書くこと まとめ:Rubyらしさとは
つまり、Rubyらしさとは 「人間が読みやすい言語」
追記 ChatGPTに、Rubyらしさがみられるコードの書き方を 聞いたところ以下のような回答がありました。
Thank you