diff --git a/info/FAQ.html b/info/FAQ.html index 3db3a4d..a355798 100644 --- a/info/FAQ.html +++ b/info/FAQ.html @@ -180,4 +180,4 @@ - + \ No newline at end of file diff --git a/info/JDchokai-explain.html b/info/JDchokai-explain.html index e89118b..44c6212 100644 --- a/info/JDchokai-explain.html +++ b/info/JDchokai-explain.html @@ -29,7 +29,9 @@ list-style: none; } - +h2{ + margin-top: 30px; +} p{ font-size: 1.1rem; margin-bottom: 10px; @@ -71,6 +73,16 @@ .explain-list:hover{ color: blue; } + .p-red{ + font-size: 1.3rem; + color: red; + } + .blue{ + color: rgb(0, 255, 255) + } + .comment{ + color: yellow; + } @media screen and (max-width: 746px){ p{ font-size: 0.9rem; @@ -1122,7 +1134,7 @@
   4
   
-

return a 」と記述することで、メソッドの処理を中止し、aを返却値として返しているので、実行結果は4となる。

+

「return a 」と記述することで、メソッドの処理を中止し、aを返却値として返しているので、実行結果は4となる。

+ +
+

(7)プログラムをもっと楽しくしてみよう!

+

[1]乱数

+

数字の中からラングムに発生させる数を乱数といい、randを使って取り出 + します。数値だけでなく、自分の作った配列から取り出すこともできます。 + お祭りの屋台にある、おみくじ屋さんからくじを1枚とるイメージです。

+

数値の場合

+

+ 変数名= rand(自然数)のようにして取り出すことができ、0から指定した + 自然数未満の乱数が発生します。また、srand()によって、発生する乱数の種を初期化する必要があります。
+

+

saikoro.rb

+
+        #!/usr/bin/env ruby
+        # -*- coding: utf-8 -*-
+        
+        srand()#乱数の種を初期化
+        saikoro = rand(6) + 1#1を足すことで7未満の整数を発生
+        printf("振ったサイコロの目は%dでした。\n",saikoro)#saikoroが1から6までの内ランダムで出力
+        
+

文字列の場合

+

取り出したい要素を含む配列と、乱数を発生させる変数を作り、配列名[変数名]のようにして出力します。ここで、rand()内の数字には、配列に並んでいる要素の数を入れます。

+
+        #!/usr/bin/env ruby
+        # -*- coding: utf-8 -*-
+        
+        coin=[”表”,”裏”]#2個なのでcoin.lengthは2
+        srand()#乱数の種を初期化
+        hyori = rand(coin. length)#よって0か1のどちらかになる
+        printf("投げたコインは%sでした。\n",coin[hyori]) #coin[hyori]が表か裏のいずれかで出力
+        
+

発展

+

Rubyの場合、配列の中からランダムに取り出す処理は、coin.sampleと書けます。

+ +

[2]一時停止

+

プログラムは実行したらすぐに表示されます。逆にプログラムを一時停止することもできます。プログラムに動きをつけたいときに使ってみましょう。
+ 一時停止させたいときはsleepを使い、sleep(秒数)のようにします。

+

rocket.rb

+
+            #!/usr/bin/env ruby
+            # -*- coding: utf-8 -*-
+            
+            puts"ロケット打ち上げまで..."
+            sleep(1)#1秒間停止(以下同様)
+            puts "3"
+            sleep(1)
+            puts "2"
+            sleep(1)
+            puts "1"
+            sleep(1)
+            puts ”発射!!”
+            
+

[3]時刻

+

Time.nowを使うと、現在の時刻を受け取ることができます。秒数を数えるときは、.toiメソッドを利用しましょう。

+

stopwatch.rb

+
+            #!/usr/bin/env ruby
+            # -*- coding: utf-8 -*-
+
+            puts"ストップウォッチスタート!(Enterを押すと止まるよ)"
+            kaishi = Time.now.to_i#現在の時刻を代入
+            teishi = gets.chomp#入力完了まで時間経過
+            syuryo = Time.now.to_i#Enter を押した時刻を代入
+            jikan = syuryo - kaishi#要した秒数を代入     
+            printf("タイムは%d秒です。\n",jikan)#要した秒数が出力
+        
+ +

[4]画像表示

+

+ spawn "display -geometry +x+y ファイル名"で画像を表示でき、xには画面左から、yには画面上からのドットの位置を指定します。 + ずっと画面に残ってしまうため、出していた画像を消すにはProcess.killを使います。 +

+

gazo.rb

+
+          #!/usr/bin/env ruby
+          # -*- coding: utf-8 -*-
+
+          pid = spawn "display -geometry +10+20 image.jpg"#image.jpgの場合
+          #しばらく別の処理をする(sleepなど)
+          Process.kill(:INT, pid)#:INTは信号の一種
+        
+