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之道——让Ruby更简单
Search
Alex
November 30, 2015
Programming
3
220
Ruby之道——让Ruby更简单
Elixir缘道会线下活动第二期主题
Alex
November 30, 2015
Tweet
Share
More Decks by Alex
See All by Alex
《Ruby原理剖析》二三事
zhanghandong
2
300
Ruby & Gem & Ecosystem
zhanghandong
0
110
Ruby Test (TDD/BDD)
zhanghandong
0
240
Ruby Standard Lib
zhanghandong
0
110
Ruby Exception
zhanghandong
0
120
Ruby Thread
zhanghandong
3
160
Duck Typing in Ruby
zhanghandong
2
700
Other Decks in Programming
See All in Programming
『毎日の移動』を支えるGoバックエンド内製開発
yutautsugi
2
180
実践AIチャットボットUI実装入門
syumai
7
2.5k
プログラミングどうやる? ~テスト駆動開発から学ぶ達人の型~
a_okui
0
190
クラシルを支える技術と組織
rakutek
0
190
Playwrightはどのようにクロスブラウザをサポートしているのか
yotahada3
7
2.3k
CSC509 Lecture 04
javiergs
PRO
0
290
WebエンジニアがSwiftをブラウザで動かすプレイグラウンドを作ってみた
ohmori_yusuke
0
170
Back to the Future: Let me tell you about the ACP protocol
terhechte
0
130
Swift Concurrency - 状態監視の罠
objectiveaudio
2
450
なぜあの開発者はDevRelに伴走し続けるのか / Why Does That Developer Keep Running Alongside DevRel?
nrslib
3
370
Catch Up: Go Style Guide Update
andpad
0
170
複雑化したリポジトリをなんとかした話 pipenvからuvによるモノレポ構成への移行
satoshi256kbyte
1
770
Featured
See All Featured
KATA
mclloyd
32
15k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3.1k
Rebuilding a faster, lazier Slack
samanthasiow
84
9.2k
Writing Fast Ruby
sferik
629
62k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
35
3.2k
What's in a price? How to price your products and services
michaelherold
246
12k
Documentation Writing (for coders)
carmenintech
75
5k
Navigating Team Friction
lara
189
15k
The Cost Of JavaScript in 2023
addyosmani
53
9k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.5k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
358
30k
Fashionably flexible responsive web design (full day workshop)
malarkey
407
66k
Transcript
Ruby ԏ᭲ ——ᦏRubyๅᓌܔ ୟӳ
ԟԏ᭲ / ߺ᯾ҁwhy҂ /ฎՋԍҁwhat/how҂ / کߺ᯾݄ҁWill҂ ߽ҁכਞ҂ӣᳯ
ਭᥤRuby / ߺ᯾ҁwhy҂ • MatzๅىဳአߺᐿᖫᑕๅளԔ • ໑ഝർਫ਼ਧෙᏝկ౮տ᩼᩼֗ • ᖫᑕଫᧆᥴ٬ጱḒᥝᳯ᷌ฎݎපሲ •
֛ሿጱฎՈᔄᘍጱᨶ҅ଫᧆฎՈԆਵᦇᓒ҅ ᘒᶋݍᬦ
ਭᥤRuby / ߺ᯾ҁwhy҂ • ᭌೠԧᶎݻ • ᓌ၄/ ಘ/ ᑞਧ
ਭᥤRuby / ฎՋԍҁwhat/ how҂ • ၾ௳ • Duck Typing •
Mix-inਫሿग़ᖀಥ • lispᮎفԧblock
ਭᥤRuby / ฎՋԍҁwhat/ how҂ ၾ௳
ਭᥤRuby / ฎՋԍҁwhat/ how҂ ၾ௳ object.message ളතᘏ ၾ௳ Ruby๋໐ஞጱཛྷࣳ
ਭᥤRuby / ฎՋԍҁwhat/ how҂ ၾ௳ object.message ളතᘏ ၾ௳ ᬯ੪ฎRuby๋໐ஞጱཛྷࣳҘ
ਭᥤRuby / ฎՋԍҁwhat/ how҂ ၾ௳ Ӟڔጲ҅ጲํဩ
ਭᥤRuby / ฎՋԍҁwhat/ how҂ ၾ௳/ Ӟڔጲ҅ጲํဩ object class Class
ਭᥤRuby / ฎՋԍҁwhat/ how҂ ၾ௳/ Ӟڔጲ҅ጲํဩ send msg respond result
Ԕᥡఘ٭ send msg Ҙ ఓᥡఘ٭ҁय़ग़හ҂
ਭᥤRuby / ฎՋԍҁwhat/ how҂ ၾ௳/ Ӟڔጲ҅ጲํဩ class1 superclass2 Module Module
Module singlton_class singlton_class
ਭᥤRuby / ฎՋԍҁwhat/ how҂ ොဩਧԎ/ /ොဩই֜ਧԎ /ၾ௳ݎᭆߥଫጱොୗ (හഝ॒ቘ) /ොဩࣁߺਧԎ •
def • define_method • method_missing • const_missing • send • ᳮ۱ҁeval/bind̵lambda/proc҂ • block • ݍ • class_eval • module_eval • instance_eval • class << self • self • include • extend • open class(monkey patch)
ਭᥤRuby / ฎՋԍҁwhat/ how҂ DSLᐏֺ/ Jbuilder json.author do json.name "David"
json.age 32 end
ਭᥤRuby / کߺ݄ҁwill҂ Ruby3.0/ ᚆ೮ᖅ܋x3 ग़໐ҁ݄ᴻGIL̵multi vm҂ pipeline
ਭᥤRuby / ᦎᦞғ᪙elixirጱྲ Rubyࣘ/ 10.times do |n| puts n end
ਭᥤRuby / ᦎᦞғ᪙elixirጱྲ Elixirਡ/