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
800
第2課 Rubyでプログラミング
http://onemonth.mantropy.net/
ひでシス
October 26, 2016
Tweet
Share
More Decks by ひでシス
See All by ひでシス
第4課 リレーショナルデータベース
hidesys
0
700
第3課 書いたコードを管理する(Git)
hidesys
0
800
第1課 Linuxことはじめ
hidesys
0
880
第1課 Linuxことはじめ 事前準備
hidesys
0
260
Other Decks in Programming
See All in Programming
ボトムアップの生成AI活用を推進する社内AIエージェント開発
aku11i
0
1.4k
Ktorで簡単AIアプリケーション
tsukakei
0
120
AkarengaLT vol.38
hashimoto_kei
1
130
NIKKEI Tech Talk#38
cipepser
0
340
Pythonに漸進的に型をつける
nealle
1
140
When Dependencies Fail: Building Antifragile Applications in a Fragile World
selcukusta
0
120
alien-signals と自作 OSS で実現する フレームワーク非依存な ロジック共通化の探求 / Exploring Framework-Agnostic Logic Sharing with alien-signals and Custom OSS
aoseyuu
3
5k
Go言語はstack overflowの夢を見るか?
logica0419
0
670
KoogではじめるAIエージェント開発
hiroaki404
1
220
Dive into Triton Internals
appleparan
0
360
コードとあなたと私の距離 / The Distance Between Code, You, and I
hiro_y
0
210
外接に惑わされない自システムの処理時間SLIをOpenTelemetryで実現した話
kotaro7750
0
130
Featured
See All Featured
Intergalactic Javascript Robots from Outer Space
tanoku
273
27k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
46
2.5k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
16k
Why You Should Never Use an ORM
jnunemaker
PRO
60
9.6k
The Invisible Side of Design
smashingmag
302
51k
It's Worth the Effort
3n
187
28k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4.1k
Principles of Awesome APIs and How to Build Them.
keavy
127
17k
Typedesign – Prime Four
hannesfritz
42
2.8k
How to Ace a Technical Interview
jacobian
280
24k
[RailsConf 2023] Rails as a piece of cake
palkan
57
6k
The Power of CSS Pseudo Elements
geoffreycrofte
80
6k
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!!!!!!!