Ruby紹介2

704 views

Published on

S高校コン部部員が書いたスライド。なんか色々つたねぇ部分はご容赦を。

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
704
On SlideShare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
2
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Ruby紹介2

  1. 1. 4 月 24 日 gohryuh Ruby ー2
  2. 2. GW 課題の答え合わせ <ul><li>Fizzbuzz 問題 答えは他にもある。 </li></ul><ul><li>for a in 1..100 do </li></ul><ul><ul><li>case a%15 </li></ul></ul><ul><ul><li>when 0 then </li></ul></ul><ul><ul><ul><li>print(a,&quot;fizzbuzzn&quot;) </li></ul></ul></ul><ul><ul><li>when 3,6,9,12 then </li></ul></ul><ul><ul><ul><li>print(a,&quot;fizzn&quot;) </li></ul></ul></ul><ul><ul><li>when 5,10 then </li></ul></ul><ul><ul><ul><li>print(a,&quot;buzzn&quot;) </li></ul></ul></ul><ul><ul><li>else </li></ul></ul><ul><ul><ul><li>print(a,&quot;n&quot;) </li></ul></ul></ul><ul><ul><li>end </li></ul></ul><ul><li>end </li></ul>
  3. 3. 解説ってほどもない解説 <ul><li>前も言ったが fizzbuzz 問題は有名な問題。 </li></ul><ul><li>ある会社にプログラマ志望できた人たち 200 人にこの問題をできるかやらせたところ 199 人できなかったという逸話がある(諸説ある) </li></ul><ul><li>そこから本当に基本的なプログラムができるかの確認としてこの問題が使われるようになった。ちなみに fizzbuzz の由来は英語圏での同様のことをする遊びから。 </li></ul><ul><li>最近ではいかに短く書けるかとか余剰記号を使わずに書けるかなどの縛りを付けるなどして競っている。 </li></ul>
  4. 4. ちなみに・・・ <ul><li>pastak 先輩 ( 元部長 ) が書いた短い fizzbuzz はこんなの </li></ul><ul><li>・・・4行で書かはりました。すごいですね。 </li></ul><ul><li>仕組みはまだわからないと思うけどそのうちやる </li></ul><ul><li>(つもり) </li></ul>a=[&quot;fizz&quot;,&quot;buzz&quot;] for i in 1..100 puts i%3==0||i%5==0 ? a[(i%3)*2].to_s+a[(i%5)+1].to_s : i.to_s # この行は上の行の続き end
  5. 5. 今日のやつ・・・の前に訂正 <ul><li>前の紹介時に </li></ul><ul><li>else if だよーと言ったところは実は </li></ul><ul><li>elsif だったんです。 </li></ul><ul><li>すいません。いいわけだけど C 言語では else if だったから・・・。みんな間違えないようにね☆ </li></ul>
  6. 6. 今回は <ul><li>前回初めての ruby ということで環境変数の調整とかに加えて GW の課題をやってもらうためとだいぶ駆け足でやったので今回はもう少しじっくり基本をおさえてやっていきたいと思います。 </li></ul>
  7. 7. データ、メソッド、クラス <ul><li>データ・・・1とかの数字、数列のこと。変数もここに位置する。 </li></ul><ul><li>メソッド・・・関数みたいなの。 print,puts などのこと。メソッドが受け取るデータのことを 引数 と呼ぶがメソッドは引数に応じた反応を 返り値 として返す。 </li></ul>入力 出力
  8. 8. メソッドの定義方法 <ul><li>メソッドってどうやって定義すんの?というのをやります。まず下のを書いて。 </li></ul><ul><li>実行して Hello!! と3がでれば OK 。 </li></ul>def hello    # def と hello の間はスペースを空ける print(&quot;Hello!!n&quot;) end def plus(a,b)   #上と同様 print(a+b,&quot;n&quot;) end hello() plus(1,2)
  9. 9. 解説 <ul><li>def メソッド名(引数1 , 引数2 , ・・・) </li></ul><ul><li>   実行内容 α </li></ul><ul><li>   実行内容 β ・・・ </li></ul><ul><li>end </li></ul><ul><li>でメソッドを定義します。 </li></ul><ul><li>メソッドの名前は英数字かアンダーバーで(ただし一文字目に数字は使えない)    </li></ul><ul><li>使う(メソッドをお呼び出しする)ときは </li></ul><ul><li>メソッド名 ( 引数 1, 引数 2, ・・・ ) で </li></ul><ul><li>引き数はなくてもよい。← hello()     </li></ul>
  10. 10. クラス <ul><li>クラスの定義は </li></ul><ul><li>class クラス名 </li></ul><ul><li>文 </li></ul><ul><li>end </li></ul><ul><li>で定義します。このときクラス名の一文字目は大文字で無ければいけません。 </li></ul><ul><li>クラスの中でメソッドを定義することができるのですがそのクラス内で定義したメソッドはそのクラスの外では実行できません。 </li></ul>

×