Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Ruby紹介

670 views

Published on

Published in: Education
  • Be the first to comment

  • Be the first to like this

Ruby紹介

  1. 1. Ruby <ul><li>4 月 2 1日製作 </li></ul><ul><li>gohryuh </li></ul>
  2. 2. Ruby ってなんよい? <ul><li>オブジェクト指向型プログラミング言語 </li></ul><ul><li>まつもとゆきひろ氏により開発 </li></ul>
  3. 3. オブジェクト指向とは <ul><li>いろんなもの(こと)を物(オブジェクト)として扱う考え方。概念も物として捉える。 </li></ul><ul><li>なんかよくわからないから </li></ul><ul><li> 例を挙げて説明-> </li></ul>
  4. 4. オブジェクト指向の例 <ul><li>テレビ </li></ul><ul><li>ーテレビの具体的な構造、仕組みがわからなくてもテレビを使うことはできる。 </li></ul><ul><li>-> 中の構造がわからない関数でも値を入れれば結果が出てくる。 </li></ul>テレビ↓ 操作
  5. 5. オブジェクト指向と それ以外の違い <ul><li>ーー珈琲を飲むときーー </li></ul><ul><li>オブジェクト指向 </li></ul><ul><ul><li>-> コーヒーメーカーに </li></ul></ul><ul><ul><li>豆をセットするだけ </li></ul></ul><ul><li>それ以外->自分で道具を用意し、 </li></ul><ul><li>豆をすりつぶし・・・ </li></ul>
  6. 6. なぜオブジェクト指向ができたか <ul><li>技術の発展とともに </li></ul><ul><li> ソフトウェアが複雑化、大量生産。 </li></ul><ul><li>-> 簡単で均一化した基準が必要。 </li></ul><ul><li>・・・とまあ他にもいろいろあるんだがめんどいので </li></ul><ul><li>以下省略。知りたい人は各自でググるなりなんなりしてね☆ </li></ul><ul><li>  つぎからはやっと ruby の本題に入るよ! </li></ul>
  7. 7. Ruby の特徴 <ul><li>コンパイルする必要がない </li></ul><ul><li>変数に型がない </li></ul><ul><li>変数宣言が不要 </li></ul><ul><li>文法が単純 </li></ul><ul><li>・・・いまはなにがどうなのかとかわからなくていい。とりあえずさわる </li></ul>
  8. 8. HelloWorld!! <ul><li>とりあえず次のコードを TeraPad で書いて。 </li></ul><ul><li>これをかいたら拡張子を「 .rb 」にして保存。 </li></ul><ul><li>ただし名前は半角英数字で、保存場所は ローカルディスク 内に。 </li></ul><ul><li>私は a というファイルをつくってそこに入れてる。 </li></ul>print(&quot;helloWorld!!&quot;)
  9. 9. Ruby の実行のしかた <ul><li>1. 全てのプログラム>アクセサリ のなかにある「コマンドプロンプト」を起動させる。 </li></ul><ul><li>こんな真っ黒ななにかが出てくる。 </li></ul>
  10. 10. <ul><li>2.コマンドプロンプトに ruby ファイルがあるフォルダのアドレスを書く。 </li></ul><ul><li>ローカルディスク内の </li></ul><ul><li>ー「 a 」というファイル名の中に入れた gohryuh さんの場合 </li></ul><ul><li>  cd c:a になる。 </li></ul><ul><li>ー「 a 」というファイルの中の「 ruby 」というファイルの中に入れた shien さんの場合 </li></ul><ul><li>  cd c:aruby になる。 </li></ul><ul><li>書いたら ENTER </li></ul>
  11. 11. <ul><li>こんな感じになる </li></ul><ul><li>( C:Documents and Settings 「 HOME 」は「 SCHOOL 」ですね) </li></ul>
  12. 12. <ul><li>3.コマンドプロンプトに </li></ul><ul><li>「 ruby 実行ファイル名 .rb 」と叩き込んで ENTER </li></ul><ul><li>   ↑スペース必要 </li></ul><ul><li>すると HelloWorld!! の文字が出る。 </li></ul><ul><li>こんな感じ。ようこそ世界へ。 </li></ul><ul><li>簡単にプログラムが書けたでしょ? </li></ul>
  13. 13. さらっと解説 <ul><li>print(” なんか出したい文” ) </li></ul><ul><li>で文を出力します。 </li></ul><ul><li>他の言語だとこれを書く前に </li></ul><ul><li># include< s・・・といろいろ打たなきゃいけないが ruby はこれだけで OK ! </li></ul><ul><li>こんなに簡単なのが ruby の特徴。 </li></ul><ul><li>HelloWorld は言語を学ぶときに初めてやるテンプレの文。こんにちはこの世界みたいなあいさつ </li></ul>
  14. 14. 四則演算 <ul><li>次は四則演算( +-×÷ )です。次のコードを書いてね </li></ul># #よりあとはコメント。 ¥ は キーを打つ print(&quot;5 * 3 = &quot;, 5 * 3, &quot;¥n&quot;) print(&quot;8 / 2 = &quot;, 8 / 2, &quot;¥n&quot;) print(&quot;4 + 6 = &quot;, 4 + 6, &quot;¥n&quot;) print(&quot;7 - 2 = &quot;, 7 - 2, &quot;¥n&quot;) print(&quot;5 % 2 = &quot;, 5 % 2, &quot;¥n&quot;) print(&quot;5 ** 3 = &quot;, 5 ** 3, &quot;¥n&quot;)
  15. 15. <ul><li>これを実行すると </li></ul><ul><li>こんな感じになる </li></ul>
  16. 16. 解説 <ul><li>プログラミング言語での四則演算は </li></ul><ul><li>和(+)->+      乗( × )->* </li></ul><ul><li>差(ー)->ー      除( ÷ )-> / </li></ul><ul><li>で記述する。 </li></ul><ul><li>累乗は**で、あまりは%で表す。 </li></ul>
  17. 17. <ul><li>print(&quot;5 * 3 = &quot;, 5 * 3, &quot; ¥ n&quot;) は </li></ul><ul><li>「5*3=」という文の後に 5*3 の計算結果を出して改行しろというもの。 </li></ul><ul><li>¥nは null 文字といって文字ではないものを表す文字。改行の意味。 </li></ul><ul><li>”” を付けずに記述すると 計算結果 が出る </li></ul>
  18. 18. 変数 <ul><li>どんどんやるよー。書いてね </li></ul>a=3*5 b=”moziretsu” c=9 d=a+c print(a,” ¥ n”) print(b,” ¥n ”) print(d,” ¥ n”)
  19. 19. <ul><li>実行すると </li></ul><ul><li>15 </li></ul><ul><li>moziretsu </li></ul><ul><li>24 </li></ul><ul><li>と表示されたら OK 。 </li></ul>
  20. 20. 解説 <ul><li>変数とは格納した「物」の目印。 </li></ul><ul><li>a=3*5 は 3*5 という文字たちを見つけるためのタグということ。 </li></ul><ul><li>プログラム上で膨大な量の数字があったとしてそれを計算するたびに書くのは面倒。ということで代わりの記号が変数。 </li></ul><ul><li>変数には数字も文字列も変数も入れられる。 </li></ul>
  21. 21. 条件分岐 1 <ul><li>次はこれもよく使う if 文の条件式だよー </li></ul>a=1 if a==1 then print(&quot;a=1n&quot;) else print(&quot;a is not 1n&quot;) end
  22. 22. <ul><li>実行すると </li></ul><ul><li>  a=1 </li></ul><ul><li>となる。 </li></ul><ul><li>ちなみにソースの中の a の値を変えると </li></ul><ul><ul><li>a is not 1 </li></ul></ul><ul><ul><li>になるよ </li></ul></ul>
  23. 23. 解説 <ul><li>if( 条件式 ) then   </li></ul><ul><li>実行文1 </li></ul><ul><li>else </li></ul><ul><li>実行文2 </li></ul><ul><li>end </li></ul><ul><li>っでもし条件式が真( true )の場合実行文1を実行し、偽( false )のとき実行文2を実行する。 </li></ul><ul><li>a==1 は a に1を代入するではなく a は1であるの確認になる。 </li></ul>
  24. 24. 条件分岐2 <ul><li>これもよく使う case 分岐です。 </li></ul>test=90 case test when 0..50 then print(&quot;bad&quot;) when 50..70 then print(&quot;good&quot;) when 71..100 then print(&quot;so good&quot;) else print(&quot;?&quot;) end
  25. 25. 解説 <ul><li>ひとつの条件式の複数の結果によってそれぞれの文を実行するときは case 文を使います。 </li></ul><ul><li>case  条件式 </li></ul><ul><li>  when 結果1  then </li></ul><ul><li>実行文1 </li></ul><ul><li>  when 結果2 then </li></ul><ul><li>    実行文2 </li></ul><ul><li>  else 実行文       #←それ以外 </li></ul><ul><li>  end </li></ul>
  26. 26. 繰り返し <ul><li>次は同じプログラムを何回か繰り返して実行する for 文です。 </li></ul>for a in 0..4 do print(a,&quot;aaan&quot;) end
  27. 27. <ul><li>実行したら </li></ul><ul><li>aaa </li></ul><ul><li>aaa </li></ul><ul><li>aaa </li></ul><ul><li>aaa </li></ul><ul><li>aaa </li></ul><ul><li>と出てくる . </li></ul>
  28. 28. 解説 <ul><li>for 変数  in 範囲 do </li></ul><ul><li>  実行文 </li></ul><ul><li>end で </li></ul><ul><li>範囲の左から順に値を変数に代入していき実行文の内容を実行する </li></ul><ul><li>範囲は 0,1,2,3,4,5 でも可 </li></ul><ul><li>今回は a に0~4までの数を代入していき </li></ul>
  29. 29. GW 課題 <ul><li>条件分岐と繰り返しを使って以下のコードを書いてきて </li></ul><ul><li>ー fizzbuzz 問題 </li></ul><ul><li>  </li></ul><ul><li>ー 1 から 100 までの数を全て足した数を for 文を使って算出する。 </li></ul>
  30. 30. fizzbuzz 問題 <ul><li>結構有名な問題。  </li></ul><ul><li> 1から 100 までの数を順に出力。その時にその数が 3 で割れるなら fizz5 で割れるなら buzz15 で割れるなら fizzbuzz と数字の後ろに付ける。 </li></ul><ul><li>例:1 15fizzbuzz </li></ul><ul><li>  2 </li></ul><ul><li>  3 fizz </li></ul><ul><li>プログラムを少しでもかじった人なら簡単にできる基本の問題だが分からない人が多い。 </li></ul>

×