タグ

2007年9月24日のブックマーク (3件)

  • 逆引きRuby/Tk

    逆引き Ruby/Tk Widget 全般 幅や高さを設定する #!/usr/bin/env ruby require "tk" TkLabel.new { text "Hello!!" width 10 height 10 pack } Tk.mainloop ボタンで大きさが変わるサンプル。 #!/usr/bin/env ruby require "tk" l = TkLabel.new { text "Hello!!" pack } TkButton.new { text "Wide" command { l.width(l.width + 10); print "width: #{l.width}\n" } pack('fill' => 'x') } TkButton.new { text "Narrow" command { l.width(l.width - 10); prin

    mir
    mir 2007/09/24
  • Ruby/Tk チュートリアル

    URL: http://pub.cozmixng.org/~the-rwiki/rw-cgi.rb?cmd=view;name=Ruby/Tk チュートリアル Last-Modified: Sun, 13 Apr 2003 17:47:17 JST (5y(1994d)) Links: [NaHi (2d)] [RProject (199d)] [RubyTkTut::リストボックスとスクロールバー (1y(435d))] [RubyTkTut::エントリー (2y(949d))] [RubyTkTut::例:落書き帳 (3y(1437d))] [RubyTkTut::例:電卓 (3y(1437d))] [RubyTkTut::ラベル (3y(1437d))] [RubyTkTut::メッセージとボタン (3y(1437d))] [RubyTkTut::チェックボタン、ラジオボタン (3

    mir
    mir 2007/09/24
  • ユメのチカラ: ロックのいろは

    ロックと言うのはプログラミング上のコンベンション、慣用句みたいなもので、共有資源へのアクセスに対する同期のメカニズムとして利用される。 ある共有資源を複数のプロセッサ(あるいはプロセスでもいいけど)から同時に利用したいとする。変数に1を加えるという単純な動作ですら同期をとらないと正しい結果を得られない。 ロックはそのような同期を必要とする場面でよく利用される。ロックを取得したただ一つのプロセスのみその共有資源にアクセスできるようにするのである。 アトミックに値をセットしてテストする命令(test and set)を利用しロックが取得できるまでひたすらループして待つ、いわゆるスピンロックという単純素朴な方法がある。IA-32だとxchgという命令があって、あるメモリとレジスタの値をアトミックに(他のプロセッサに邪魔されることなく)行うことができて、それを利用する。例えば、0がロックされていな