[youtube=http://www.youtube.com/watch?v=QgKCrGvShZs&hl=en]
これはいいなぁ。
$KCODE='u' # 世界のナベアツ問題(English) フィボナッチ数列バージョン # もう、長過ぎ。 # これをやるナベアツをみてみたい。 def fibonacci(limit) fivoArray = [1,1] for h in 2..limit.to_i fivoArray[h] = fivoArray[h-1] + fivoArray[h-2] end return fivoArray end def nabe(num) if num % 3 == 0 return true end if num.to_s.match('3') return true else return false end end puts "-- 世界のナベアツ(English) --" fibonacci(ARGV[0]).each do |i| if nabe(i) puts "#{i} なべ" system("say -v Cellos #{i}") else puts "#{i}" system("say -v Fred #{i}") end end puts "-- おしまい --"実行方法
ruby nabeatsu_fibo.rb 100
この時の 100 は フィボナッチ数列を 100番目まで生成するとうことです。
次は「素数判定でアホになる」でも作ってみるかな。
$KCODE='u' def nabe(num) if num % 3 == 0 return true end if num.to_s.match('3') return true else return false end end endnum = ARGV[0] for i in 1..endnum.to_i if nabe(i) puts "#{i} なべ" system("say -v Cellos #{i}") else puts "#{i}" system("say -v Fred #{i}") end end実行方法
ruby nabeatsu.rb 100
これで、Mac(say コマンド) が "3"の倍数と"3"のつく数字をアホになって喋ってくれます。
プログラム自体は、数字を文字列に変換して match して数学的に解いていません。実装が簡単な方を選びました。
% sudo port install isightcapture % which isightcapture /opt/local/bin/isightcapture使い方
isightcapture [-v] [-d] [-n frame-no] [-w width] [-h height] [-t jpg|png|tiff|bmp] output-filenamePNG で 320 x 240 の写真を取りたい場合
isightcapture -w 320 -h 240 -t png hoge.pngiSight は起動時の画像が暗い場合があるので、これを回避するために10フレーム目を保存する場合
isightcapture -n 10 -w 320 -h 240 -t png hoge.pngこれで、シェルスクリプトからiSight を操作することができるようになります。 Webカメラとか観察日記とかいろいろ作れるようになります。 あとは、cron で操作できるのか確かめてみるか〜。 ログイン中ならcronも一応動くっぽい。しかも、Firewire 接続の外部iSight で写真を撮ることができた。