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
810
第2課 Rubyでプログラミング
http://onemonth.mantropy.net/
ひでシス
October 26, 2016
Tweet
Share
More Decks by ひでシス
See All by ひでシス
第4課 リレーショナルデータベース
hidesys
0
710
第3課 書いたコードを管理する(Git)
hidesys
0
810
第1課 Linuxことはじめ
hidesys
0
890
第1課 Linuxことはじめ 事前準備
hidesys
0
260
Other Decks in Programming
See All in Programming
Basic Architectures
denyspoltorak
0
680
例外処理とどう使い分ける?Result型を使ったエラー設計 #burikaigi
kajitack
16
6.1k
MDN Web Docs に日本語翻訳でコントリビュート
ohmori_yusuke
0
650
MUSUBIXとは
nahisaho
0
140
Claude Codeと2つの巻き戻し戦略 / Two Rewind Strategies with Claude Code
fruitriin
0
140
Patterns of Patterns
denyspoltorak
0
1.4k
並行開発のためのコードレビュー
miyukiw
0
330
疑似コードによるプロンプト記述、どのくらい正確に実行される?
kokuyouwind
0
390
Data-Centric Kaggle
isax1015
2
780
AIエージェントのキホンから学ぶ「エージェンティックコーディング」実践入門
masahiro_nishimi
5
510
フロントエンド開発の勘所 -複数事業を経験して見えた判断軸の違い-
heimusu
7
2.8k
AI Schema Enrichment for your Oracle AI Database
thatjeffsmith
0
320
Featured
See All Featured
Navigating Weather and Climate Data
rabernat
0
110
Building a A Zero-Code AI SEO Workflow
portentint
PRO
0
320
Ruling the World: When Life Gets Gamed
codingconduct
0
140
So, you think you're a good person
axbom
PRO
2
1.9k
Winning Ecommerce Organic Search in an AI Era - #searchnstuff2025
aleyda
1
1.9k
The Organizational Zoo: Understanding Human Behavior Agility Through Metaphoric Constructive Conversations (based on the works of Arthur Shelley, Ph.D)
kimpetersen
PRO
0
240
GraphQLの誤解/rethinking-graphql
sonatard
74
11k
We Analyzed 250 Million AI Search Results: Here's What I Found
joshbly
1
740
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.4k
KATA
mclloyd
PRO
34
15k
Why Our Code Smells
bkeepers
PRO
340
58k
Making the Leap to Tech Lead
cromwellryan
135
9.7k
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!!!!!!!