~いろんな長さで回転させてみよう~ each
今回はeach(イーチ)を使った繰り返しで、ロボットが回転する秒数を変えてみましょう。第6回でも登場しているeachですが、使い方のおさらいをしておきましょうね。
次のプログラムをエディタに入れて「動かす」ボタンを押してみてください。
fruits = ["りんご", "みかん", "バナナ"] fruits.each do |fru| puts "私は" + fru + "が好きです" end
私はりんごが好きです
私はみかんが好きです
私はバナナが好きです
プログラムのせつめい
1行目
fruitsという名前のついた箱に、「りんご」、「みかん」、「バナナ」を入れておきます。
箱にたくさんの中身が入っているものを配列(はいれつ)といいます。
3行目
fruitsの中身を順番に取り出して次の命令をやりなさい。each do(イーチドゥー)は、endまでの命令を順にやりなさい、という意味でしたね。fruは箱の中身をしめしています。
4行目
私はfruが好きです、と表示しなさい。fruには配列の中身が順に入ります。
ロボットを使って動きを確認しよう
eachを使った繰り返しで、ロボットの回転する長さを変えていってみよう。どんなプログラムになるかな。
require "mi100" robo = Mi100.new "COM3" nagasa = ["500","1000","1500","2000"] nagasa.each do |ms| robo.spin "right", ms sleep 0.5 end robo.close
プログラムのせつめい
1行目~3行目
ロボットを無線で動かせるようにするための、いつものステップですね。
5行目
nagasaという名前のついた箱に、回転させたい秒数を入れておきます。
7行目
nagasaに入っているそれぞれの秒数ごとにendまでの命令をやりなさい。
8行目~9行目
それぞれの秒数で回転させ、0.5秒休みなさい。
500ミリ秒まわって0.5秒休み、1000ミリ秒まわって0.5秒休みというように繰り返しが行われます。
おわり