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.7k
tqrk10
tdak
1
1k
PHPer.rb
tdak
1
560
BEAR.Sunday meet up#2
tdak
0
310
オブジェクト指向と設計の話
tdak
4
4k
Ruby * Scratch * CoderDojo
tdak
0
1.8k
ゆるかわLinux
tdak
16
3.6k
Other Decks in Technology
See All in Technology
Building GoReleaser - from shell script to paid product
caarlos0
0
270
Shadow DOMとセキュリティ - 光と影の境界を探る / Shibuya.XSS techtalk #13
masatokinugawa
0
270
AI時代にも変わらぬ価値を発揮したい: インフラ・クラウドを切り口にユーザー価値と非機能要件に向き合ってエンジニアとしての地力を培う
netmarkjp
0
220
ゼロから始めるSREの事業貢献 - 生成AI時代のSRE成長戦略と実践 / Starting SRE from Day One
shinyorke
PRO
0
230
生成AIによる情報システムへのインパクト
taka_aki
1
130
AI エンジニアの立場からみた、AI コーディング時代の開発の品質向上の取り組みと妄想
soh9834
6
260
SAE J1939シミュレーション環境構築
daikiokazaki
0
150
そもそも AWS FIS について。なぜ今 FIS のハンズオンなのか?などなど
kazzpapa3
2
120
Shadow DOM & Security - Exploring the boundary between light and shadow
masatokinugawa
0
660
Step Functions First - サーバーレスアーキテクチャの新しいパラダイム
taikis
1
280
P2P通信の標準化 WebRTCを知ろう
faithandbrave
6
2.3k
「現場で活躍するAIエージェント」を実現するチームと開発プロセス
tkikuchi1002
6
1k
Featured
See All Featured
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.4k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
53k
Measuring & Analyzing Core Web Vitals
bluesmoon
7
530
Being A Developer After 40
akosma
90
590k
BBQ
matthewcrist
89
9.7k
The Pragmatic Product Professional
lauravandoore
35
6.8k
How to train your dragon (web standard)
notwaldorf
96
6.1k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
109
19k
Java REST API Framework Comparison - PWX 2021
mraible
31
8.7k
Fashionably flexible responsive web design (full day workshop)
malarkey
407
66k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
50
5.5k
The Power of CSS Pseudo Elements
geoffreycrofte
77
5.9k
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 の皆さんにとっては 何でもないところでつまづいてるのかも。 ぜひ話を聞いてあげてほしいです。
ありがとうございました。