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
tdak
June 02, 2013
Technology
0
2.2k
Rubyをはじめたときにつまずいたこと
2013/06/02 RubyHiroba で発表したものです。
残念なプログラマがRubyをはじめたときにつまづいたところについて。
tdak
June 02, 2013
Tweet
Share
More Decks by tdak
See All by tdak
1周回って、 辿り着いた技術コミュニティの話 / kichijoji.pm #26 tech community
tdak
0
1.2k
Ruby on Rails 最初の一歩
tdak
5
4.8k
tqrk10
tdak
1
1k
PHPer.rb
tdak
1
560
BEAR.Sunday meet up#2
tdak
0
320
オブジェクト指向と設計の話
tdak
4
4k
Ruby * Scratch * CoderDojo
tdak
0
1.8k
ゆるかわLinux
tdak
16
3.6k
Other Decks in Technology
See All in Technology
Gaze-LLE: Gaze Target Estimation via Large-Scale Learned Encoders
kzykmyzw
0
260
Rethinking Incident Response: Context-Aware AI in Practice - Incident Buddy Edition -
rrreeeyyy
0
130
どこで動かすか、誰が動かすか 〜 kintoneのインフラ基盤刷新と運用体制のシフト 〜
ueokande
0
130
20250807 Applied Engineer Open House
sakana_ai
PRO
2
670
LLM時代の検索とコンテキストエンジニアリング
shibuiwilliam
2
1k
Infrastructure as Prompt実装記 〜Bedrock AgentCoreで作る自然言語インフラエージェント〜
yusukeshimizu
2
170
AIが住民向けコンシェルジュに?Amazon Connectと生成AIで実現する自治体AIエージェント!
yuyeah
0
240
Telemetry APIから学ぶGoogle Cloud ObservabilityとOpenTelemetryの現在 / getting-started-telemetry-api-with-google-cloud
k6s4i53rx
0
170
React Server ComponentsでAPI不要の開発体験
polidog
PRO
1
350
アカデミーキャンプ 2025 SuuuuuuMMeR「燃えろ!!ロボコン」 / Academy Camp 2025 SuuuuuuMMeR "Burn the Spirit, Robocon!!" DAY 1
ks91
PRO
0
150
GISエンジニアよ 現場に行け!
sudataka
1
140
Jamf Connect ZTNAとMDMで実現! 金融ベンチャーにおける「デバイストラスト」実例と軌跡 / Kyash Device Trust
rela1470
1
210
Featured
See All Featured
Building an army of robots
kneath
306
45k
GraphQLとの向き合い方2022年版
quramy
49
14k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
53k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
26k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
139
34k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
23
1.4k
Intergalactic Javascript Robots from Outer Space
tanoku
272
27k
Why Our Code Smells
bkeepers
PRO
338
57k
GraphQLの誤解/rethinking-graphql
sonatard
71
11k
Building Applications with DynamoDB
mza
96
6.6k
Java REST API Framework Comparison - PWX 2021
mraible
33
8.8k
The Invisible Side of Design
smashingmag
301
51k
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 の皆さんにとっては 何でもないところでつまづいてるのかも。 ぜひ話を聞いてあげてほしいです。
ありがとうございました。