トップ «前の日記(2009-07-21) 最新 次の日記(2009-07-24)» 編集

Route 477



2009-07-22

[ruby][prog] Hello Worldの次に何を書けばいいかについて

やっぱりHello Worldじゃないですかね?

puts "Hello, world!"

Arrayを使ったHello World

ary = ["Hello", "world!"]
puts ary.join(" ")

Hashを使ったHello World

hash = {:greet => "Hello", :to => "world"}
puts "#{hash[:greet]}, #{hash[:to]}!"

Enumerableを使ったHello World

chars = %w(H e l l o , \  w o r l d ! \
)
chars.each{|c|
  print c
}

こういう感じで100個くらい書くといい練習になるんじゃないかと思った。

いろんなメソッドを使ってみるのが目的なので、冗長であっても構わないルールとする。

[opera] Operaのウィジェットで、プレゼン時間の管理用タイマーを作った

スクリーンショット。

RubyKaigiでは「20分弱で前半を終わり」「35分で後半も終わる」という計画に忠実にスライドを進めることができたが、 その主たる理由はこのタイマーがあったからだ。

a20f3c74aee62b911ef1ecbc0ff91eff.png

Opera Widgetとは、画面にフロートする小さなウィンドウを表示するOperaの機能である。最前面に表示したりもできるので、 現在時刻・経過時間を表示するプレゼンタイマーにはぴったりだ (もちろん、使うのにOperaが要るけど)。

作り方は、ソースを見ればわかるけど単なるHTML+CSS+JavaScriptだ。あとはconfig.xmlという設定ファイルを少し書くだけ。 一応Opera公式にも登録してみたけど(審査待ち)ここからzipを取ってきて、config.xmlをブラウザにD&Dすれば普通に使うことができる。

一応使い方を書いておくと、input boxにプレゼンの分数(今回は35だった)を入れて、input boxの外("min"のあたりとか)をクリックする。 すると時間がリセットされ、カウントアップが始まる。 (なんで残り時間ではなく経過時間を表示するのかというと、その方が使いやすいからだ。まあ好みかも知れんけど。)

余談だが最初はBiwaSlideを改造して同じ情報を表示してたのだけど、デモの間に時計が見えないことに気づいて、Opera Widgetを使う作戦に変更した。 すごく手軽に作れることが分かったので、何か画面上に常駐させたいものを作るにはいいんじゃないかな。