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.
→
tdak
June 02, 2013
Technology
2.3k
0
Share
Rubyをはじめたときにつまずいたこと
2013/06/02 RubyHiroba で発表したものです。
残念なプログラマがRubyをはじめたときにつまづいたところについて。
tdak
June 02, 2013
More Decks by tdak
See All by tdak
1周回って、 辿り着いた技術コミュニティの話 / kichijoji.pm #26 tech community
tdak
0
1.3k
Ruby on Rails 最初の一歩
tdak
5
4.9k
tqrk10
tdak
1
1.1k
PHPer.rb
tdak
1
600
BEAR.Sunday meet up#2
tdak
0
350
オブジェクト指向と設計の話
tdak
4
4.1k
Ruby * Scratch * CoderDojo
tdak
0
1.9k
ゆるかわLinux
tdak
15
3.6k
Other Decks in Technology
See All in Technology
20260326_AIDD事例紹介_ULSC.pdf
findy_eventslides
0
320
Bref でサービスを運用している話
sgash708
0
220
Zephyr(RTOS)でOpenPLCを実装してみた
iotengineer22
0
180
Babylon.js Japan Activities (2026/4)
limes2018
0
120
Bill One 開発エンジニア 紹介資料
sansan33
PRO
5
18k
開発チームとQAエンジニアの新しい協業モデル -年末調整開発チームで実践する【QAリード施策】-
qa
0
650
サイボウズ 開発本部採用ピッチ / Cybozu Engineer Recruit
cybozuinsideout
PRO
10
77k
PostgreSQL 18のNOT ENFORCEDな制約とDEFERRABLEの関係
yahonda
0
150
OpenClaw初心者向けセミナー / OpenClaw Beginner Seminar
cmhiranofumio
0
120
Amazon Qはアマコネで頑張っています〜 Amazon Q in Connectについて〜
yama3133
1
170
【Oracle Cloud ウェビナー】データ主権はクラウドで守れるのか?NTTデータ様のOracle Alloyで実現するソブリン対応クラウドの最適解
oracle4engineer
PRO
3
130
Embeddings : Symfony AI en pratique
lyrixx
0
440
Featured
See All Featured
Optimising Largest Contentful Paint
csswizardry
37
3.6k
It's Worth the Effort
3n
188
29k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
55
3.3k
SEO Brein meetup: CTRL+C is not how to scale international SEO
lindahogenes
1
2.5k
We Have a Design System, Now What?
morganepeng
55
8.1k
Utilizing Notion as your number one productivity tool
mfonobong
4
280
Faster Mobile Websites
deanohume
310
31k
HDC tutorial
michielstock
1
590
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
10
1.1k
Leading Effective Engineering Teams in the AI Era
addyosmani
9
1.8k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
199
73k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
9
1.2k
Transcript
Rubyを始めたときに つまずいてしまった 5つのこと
自己紹介 @tdakak PHP をメインに Web システム開発を数年。 Ruby もちょっと。 現在は自宅で手乗り文鳥といっしょに PHP
のソースコードを読んだりしています。
自己紹介 絶賛無職中。
今日話したいこと
話したいこと プログラミングのセンスがいまいちで、 学生時代に C と COBOL、 実務ではほぼ PHP しか書いてなくて、 OOP
をきちんと理解しきれていない人が Ruby を始めたときにつまづいたところ。
つまづいてしまったところ
1. Object
1. Object Ruby の変数は すべてオブジェクト
1. Object 文字列の長さを取得したいとき たとえば PHP ではこう書く。 echo strlen('foo'); #=> 3
1. Object 文字列の長さを取得したいとき Ruby ならこう書く。 p 'foo'.length #=> 3
1. Object ?
1. Object PHP で文字列長を調べるときは Strlen 関数に値を渡してその戻り値を得る。
1. Object Ruby では変数はすべてオブジェクト。 文字列だろうと数値だろうと とにかくオブジェクト。 文字列なら文字列としての ふるまいを持ち合わせて いることが期待できる
1. Object PHP でも OOP の概念はあるが 変数=オブジェクトではないので ちょっと戸惑った…
2. Symbol
2. Symbol Hash['hoge'] Hash[:hoge]
2. Symbol ??
3. yield
3. yield ???
3. yield PHP でも次のバージョン(5.5)から Ruby の yield と似たような機能を持つ ジェネレータが実装されるが、 今のところまだ馴染みのない機能なので
ちょっと戸惑う。かも。
4. Black magic
4. Black magic
一家に 一冊
5. Simple!!
5. Simple!! $ とか ; とか {} とか ないから落ち着かない…
5. Simple!! みんなワンライナーだし イディオムわからない…
5. Simple!! あーこれ PHP なら あの関数呼べば済むのに…
5. Simple!! でも Ruby 書き続けた後に PHP 書くと Ruby ならもっとシンプルに 書けるのになー
ってつい思ってしまう…
5. Simple!! ふしぎ!!!!!
困ったときどうする?
困ったときどうする? 調べてみる ・Ruby のドキュメント http://www.ruby-lang.org/ja/documentation/ ・ 書籍を見てみる ・ ソースコードを読む
・ ぐぐる
困ったときどうする? とにかく動かしてみる ・ 小さくても動くものを作ると楽しい ・ ちょっとしたことを確認したいとき irb 便利
困ったときどうする? 誰かに聞いてみる でももし身近に聞ける人がいなかったら? ・ ネットで聞いてみるとか ・ *.rb とかに出掛けてみるとか ・ プログラミング経験の少ない女性なら
Rails Girls もあるよ!
まとめ
まとめ 理解したあとではどれも何てことないものです。 でも、腑に落ちるまでは何となく気持ち悪い。 Ruby 分からないなーって思ってる人も 些細なところでつまずいてるだけかも。
まとめ これから Ruby を始めたい人へ 新しい言語を知るのって楽しいよ! どこかでつまずいてしまったときには どこかのコミュニティに足を運んでみるのも 何かのきっかけになるかもしれません。
まとめ Rubyist さんたちへ Ruby でコード書けずに悩んでいる人、 もしかしたら Rubyist の皆さんにとっては 何でもないところでつまづいてるのかも。 ぜひ話を聞いてあげてほしいです。
ありがとうございました。