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
ひでシス
October 26, 2016
Programming
0
790
第2課 Rubyでプログラミング
http://onemonth.mantropy.net/
ひでシス
October 26, 2016
Tweet
Share
More Decks by ひでシス
See All by ひでシス
第4課 リレーショナルデータベース
hidesys
0
690
第3課 書いたコードを管理する(Git)
hidesys
0
790
第1課 Linuxことはじめ
hidesys
0
870
第1課 Linuxことはじめ 事前準備
hidesys
0
260
Other Decks in Programming
See All in Programming
関数型まつり2025登壇資料「関数プログラミングと再帰」
taisontsukada
2
840
第9回 情シス転職ミートアップ 株式会社IVRy(アイブリー)の紹介
ivry_presentationmaterials
1
220
Beyond Portability: Live Migration for Evolving WebAssembly Workloads
chikuwait
0
390
なぜ適用するか、移行して理解するClean Architecture 〜構造を超えて設計を継承する〜 / Why Apply, Migrate and Understand Clean Architecture - Inherit Design Beyond Structure
seike460
PRO
1
560
Is Xcode slowly dying out in 2025?
uetyo
1
180
XSLTで作るBrainfuck処理系
makki_d
0
210
DroidKnights 2025 - 다양한 스크롤 뷰에서의 영상 재생
gaeun5744
3
300
型付きアクターモデルがもたらす分散シミュレーションの未来
piyo7
0
800
なぜ「共通化」を考え、失敗を繰り返すのか
rinchoku
1
440
FormFlow - Build Stunning Multistep Forms
yceruto
1
190
童醫院敏捷轉型的實踐經驗
cclai999
0
160
イベントストーミング図からコードへの変換手順 / Procedure for Converting Event Storming Diagrams to Code
nrslib
1
250
Featured
See All Featured
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
31
1.2k
GitHub's CSS Performance
jonrohan
1031
460k
Navigating Team Friction
lara
187
15k
GraphQLの誤解/rethinking-graphql
sonatard
71
11k
Building Flexible Design Systems
yeseniaperezcruz
328
39k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
30
2.1k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
35
2.3k
Building Better People: How to give real-time feedback that sticks.
wjessup
367
19k
Music & Morning Musume
bryan
46
6.6k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
26
2.8k
Large-scale JavaScript Application Architecture
addyosmani
512
110k
Git: the NoSQL Database
bkeepers
PRO
430
65k
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!!!!!!!