Rubyでオリジナルプログラムを作ろう

>100 Views

October 19, 20

スライド概要

やんばるCODE オンライン勉強会

profile-image

製造業で機械系エンジニアをやってます。IoT的なこともすこしやってます。

シェア

埋め込む »CMSなどでJSが使えない場合

関連スライド

各ページのテキスト
1.

Rubyで オリジナルプログラムを作ろう やんばるCODE 勉強会 2020/10/19 @kyokucho1989

2.

自己紹介 ・kyokucho1989 ・IoTが好き ・M5Stack楽しい ・広島在住 twitter: @kyokucho_1989 blog: https://matoyomi.hatenablog.com youtube: マトリョーシカ的IoTチャンネル

3.

自己紹介 プッチ神父回路 (素数だけ数える) カップラーメン IoT タイマー (3分経ったらLINEにお知らせ)

4.

Rubyでオリジナルプログラムを作ろう

5.

※今回の話はzennで作成中の教材に沿 って作られています 教材が完成したらモニター募って ブラッシュアップします https://zenn.dev/kyokucho1989/books/93 888412a4cb49af4cf3

6.

目次 1. オリジナルプログラム作成のメリット 2. やっていく上で必要なもの 3. プログラムの型を知る 4. めっちゃ簡単なプログラムをつくろう 5. 乱数をつかってみよう(数当てゲーム) 6. オブジェクトを知ろう 7. スーパー☆アウトプットタイム

7.

1.オリジナルプログラム作成のメリット • 技術力が上がる スタート-> ゴールまでを自分で考える必要があるので 技術力があがる! • アウトプットしやすい 試行錯誤をそのまま表現できる(苦労したところとか) • ポートフォリオとして評価が高い(かも) たぶん!

8.

2.やっていくうえで必要なもの • 100%アウトプットの心意気!! 学んだことはすべてアウトプットするぞ!という意志が必要 120%くらいでもOK • RubyでHello Worldができること 環境構築ができていればOK Railsの知識/オブジェクトの理解は必要なし!!! やっていきながら勉強しよう!!

9.

3.プログラムの型を知ろう • 問いかけ> 選択> データ処理 > 条件分岐 これが基礎 例:RPGに出てくる村人の会話 こちらからのインプットに応じてなにかしらの 処理がなされる!!

10.

4.めっちゃ簡単なプログラムをつくろう-1 • オウム返しプログラムをつくるぞ! 入力した文章をそのまま返してくれるプログラム やってみよう!

11.

4.めっちゃ簡単なプログラムをつくろう-2 • RPGっぽいプログラムをかいてみよう 選択肢に応じて返答が変わるぞ!

12.

え?うまくできない?

13.

え?うまくできない? 正解です。

14.

4.めっちゃ簡単なプログラムをつくろう-3 • binding.pry を利用して変数の中身を確認してみよう

15.

4.めっちゃ簡単なプログラムをつくろう-4 プログラムが途中停止したところ で「select_num」を打ち込む select_numの中身が文字列になって いる!! こんな風に変更してみよう 文字列を数値に変更させるぞ

16.

5.乱数をつかってみよう-1 • 乱数=ランダムな数 指定した範囲の中でランダムに値を出してくれる • 例:おみくじプログラム

17.

5.乱数をつかってみよう-2 • 数当てゲームを作ってみよう PCが選んだ値が1~10のどれかを当てるゲーム 答える > 「大きい/小さい」の返事 > 答える この繰り返し つくってみよう

18.

5.乱数をつかってみよう-3 • 数当てゲーム

19.

5.乱数をつかってみよう-4 • whileを使おう 条件がtrueの間はずっとループする breakでループを抜けることができる ※途中でgetsなどで一時停止を設けること

20.

ちょっと休憩

21.

全然関係ない話 - 今後勉強したいこと • 水耕栽培 自給自足xIT技術 1次産業を家でやりたい • 哲学の向こう側 意識はどこにあるかな(1000年後に役に立つかも) ペンローズさんの量子脳理論がたのしい • 宇宙開発 人工衛星をつくってロケットに乗せてもらいたい 火星へ行きたい

22.

6.オブジェクトを知ろう -1 • オブジェクトとは -概念的なもの。説明が難しい -設計図orロボット工場 ないしそこから生まれたもの ↑class ↑インスタンス • オブジェクトを使うとなにが便利? -管理がしやすい(一括で管理できる) -堅牢。勝手に属性を追加/変更されるのを防げる Class インスタンスたち

23.

6.オブジェクトを知ろう -2 • 論よりRun classをつくってみる robo1: Roboクラスから生成されたやつ initilalize メソッド:生成された時しか呼び出せないメソッド

24.

6.オブジェクトを知ろう -3 • ロボットに名前づけ/お話し機能を追加 ロボットが生成された時に自分の名前を言う robo1.helloでこんにちは!と言う

25.

お話し機能の中でロボの名前を呼ばせたい!

26.

6.オブジェクトを知ろう -4 • インスタンス変数を使う @name : インスタンス変数 robo1(Mike)の中でつかう変数

27.

6.オブジェクトを知ろう -5 • インスタンス変数の書き換え/参照 ↑ リファレンスを参照のこと 特定のメソッドを省略している。

28.

7.スーパー⭐︎アウトプットタイム • 自分のオリジナルプログラムを作って公開しよう オブジェクトとか使わなくても大丈夫! RPGの問いかけプログラムのテキストを修正して 自分のオリジナルの問いかけをつくってみてもOK! ・必要なのはアウトプット!! なんかつくってみよう。 twitterでもslackでも、メンション飛ばしていただければ 反応しに行きます!! twitter: @kyokucho_1989

29.

ご静聴、ありがとうございました。 (なにか質問あればどうぞ!)