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
第2課 Rubyでプログラミング
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
ひでシス
October 26, 2016
Programming
830
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
第2課 Rubyでプログラミング
http://onemonth.mantropy.net/
ひでシス
October 26, 2016
More Decks by ひでシス
See All by ひでシス
第4課 リレーショナルデータベース
hidesys
0
730
第3課 書いたコードを管理する(Git)
hidesys
0
830
第1課 Linuxことはじめ
hidesys
0
910
第1課 Linuxことはじめ 事前準備
hidesys
0
270
Other Decks in Programming
See All in Programming
【やさしく解説 設計編・中級 #4】ルールの寿命と、システムの年輪
panda728
PRO
2
180
琵琶湖の水は止められてもNet--HTTPのリトライは止められない / You might be able to stop the water flow of Lake Biwa but you can't stop Net::HTTP retries
luccafort
PRO
0
640
FDEが実現するAI駆動経営の現在地
gonta
2
280
S3 を使うアプリケーションをローカル完結で動かすことに全力を注いでみた / Running S3 Apps Offline
contour_gara
0
420
ビデオ通話が繋がる0.2秒で何が起きているのか
supurazako
2
180
ITヒヤリハットを整理してみた ~ライフサイクルと原因から考える再発防止策~
koukimiura
1
140
言葉の格闘技のススメ~紙とペンと言葉から始める、キャリアの描き方~
progresscicada
2
140
komatsuna「分散システムにおけるバグ分析手法」
komatsunaqa
0
250
為什麼你並不需要ViewModel / No, you don't need a ViewModel
lovee
1
490
VibeCodingからAgenticWorkflowへ
starfish719
0
380
使いながら育てる Claude Code — 開発フローの1コマンド化 × 繰り返し指摘の自動仕組み化
shiki_kakaku
0
1.7k
yield再入門 #phpcon
o0h
PRO
0
1k
Featured
See All Featured
Balancing Empowerment & Direction
lara
6
1.2k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.8k
The AI Revolution Will Not Be Monopolized: How open-source beats economies of scale, even for LLMs
inesmontani
PRO
3
3.7k
Hiding What from Whom? A Critical Review of the History of Programming languages for Music
tomoyanonymous
3
1.1k
Money Talks: Using Revenue to Get Sh*t Done
nikkihalliwell
0
460
Designing for Timeless Needs
cassininazir
1
440
Optimising Largest Contentful Paint
csswizardry
37
3.9k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
47
8.3k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
128
56k
Designing for Performance
lara
611
70k
Building AI with AI
inesmontani
PRO
1
1.1k
Why Your Marketing Sucks and What You Can Do About It - Sophie Logan
marketingsoph
0
370
Transcript
Rubyでプログラミング ひでシス(@hidesys)
第2課の内容 • Rubyでプログラミングを触ってみる • WebフレームワークであるRailsはRubyで書か れていて、弄るにはRubyの知識が必要なた め
サーバーへログイン • dti.mantropy.net に接続します。 一般的にはSSHのポートは22番ですが、DTIのVPSでは塞がれているので2222番を使っています
教材ファイルを手元にコピー • 教材: /home/hidesys/2-ruby • 各自のhomeディレクトリにコピーしてください • `pwd` #=> /home/hoge
– 自分がいる場所の確認 • `cp –r ../hidesys/2-ruby ./` – 一つ上のhidesysディレクトリの2-rubyを、./(現在 地)に、recursiveでコピー
教材ディレクトリに移動 • `cd 2-ruby` • `ls` – たくさんの.rbファイルが確認できますか?
Hello World! • 文字を表示します • `ruby 1-hello.rb` #=> Hello! –
Rubyというプログラムに1-hello.rbファイルを読ませています。 • `cat 1-hello.rb` – プログラムファイルの確認 – puts というrubyのメソッドで、”Hello!”という文字列を表示してい ます • `nano 1-hello.rb`で表示内容を「Hello World!」に変えてくだ さい
四則演算 • 四則演算をしてみましょう • `ruby 2-four-operations.rb` • `cat 2-four-operations.rb` –
putsで各計算結果を表示しています
ローカル変数 • 変数:箱のようなもの • `ruby 3-variables.rb` • `cat 3-variables.rb` –
a = 14 • aという名前に14を代入している – puts a * b • a, bの変数の中身を呼び出している – 同じものを使いまわせて便利でしょう?
メソッド(函数) • 自分で新しい機能を定義できます • `ruby 4-method.rb` • 平方を計算するsquareと、立法を計算する cubeを定義しました –
実はputsも、元から定義されている函数のうちの 一つです
配列 • たくさんの変数をひとまとめにして扱えます – 英語でArrayといいます • `ruby 5-array.rb` – 配列[数字]
で数字番目の中身を表示する • 平方・立方の計算が少しすっきりしましたね
ここでirbの紹介です • Interactive Ruby • 対話式にRubyを実行できる – 入力毎にputsが実行される感じ • `irb`
で起動! • 1とか1 + 1とかを入れて遊んでみよう!
イテレータ(each) • square(x) とcube(x)の書く回数を減らします • `ruby 6-iterator.rb` 配列.each do |配列の中身を入れる新変数|
~~この中が繰り返される~~ end
イテレータ(times) 数字.times do |回数目を入れる新変数| ~~この中が繰り返される~~ end • `ruby 7-times.rb` •
0から99を表示する(100回)
条件分岐(if) if ほげほげ ほげほげがtrueの時に実行される else ほげほげがfalseの時に実行される end • `ruby 8-condition.rb`
• `cat 8-conditions.rb`
Rubyのtrueとfalse true false true false 1 == 1 1 ==
2 “あああ” == “あああ” “あああ” == “あ ああ” 1 != “あ” 1 != 1 1 > 0 1 < 0 100 0 “あ” nil !false !true true && true true && false false || false true || false
繰り返し(while) while ほげほげ ほげほげがtrueの時のみ繰り返される end `ruby 9-while.rb`
課題 • FizzBuzzを99まで。 – 3で割り切れる場合は「Fizz」 – 5で割り切れる場合は「Buzz」 – 両者で割り切れる場合(すなわち15で割り切れる 場合)は「Fizz
Buzz」を数の代わりに発言 100.times do |i| if i % …
課題2 • 世界のナベアツ – 3の倍数、または3が値に含まれるときにアホになる 1 2 3!!!!!!! 4 ….
13!!!!!!!