2009-08-01から1ヶ月間の記事一覧

第36回 Ruby/Rails 勉強会@関西

第36回 Ruby/Rails 勉強会@関西 2009 年 8 月 22 日に神戸大学で開催。*1第 2 セッションで「定規とコンパスを使って正三角形、正方形、正五角形を描いてみよう」という問題が出た。ruby-processing を定規とコンパスに使う。 任意の 2 点間に線を引く (定規…

eval ってクロージャなのか

evalでローカル変数を定義することはできない - willnetの日記 これを見て、なんとなくそうかなと思って試してみた。 y = 1 f = eval "x = y\nlambda{x += 1}" f.call # => 2 f.call # => 3 y # => 1 x # => # ~> -:6:in `<top (required)>': undefined local variable or me</top>…

多重代入と暗黙の型変換

以前 Ruby には型変換メソッドが沢山用意されているが、あまり暗黙の型変換はしてくれないと書いた。 暗黙の型変換 ところが多重代入をすると Array への型変換をやってくれるらしい。 class Foo def to_a; [:to_a] end def to_ary; [:to, :ary] end end foo…

コマンドの終了ステータスが取れない

DOS

errorlevel コマンドプロンプトからコマンドを実行すると、成功したか失敗したかが数値で返ってくる。その値は errorlevel で見ることができる。 C:\> dir ... C:\> echo %errorlevel% 0 C:\> dirr 'dirr' は、内部コマンドまたは外部コマンド、 操作可能な…

スクリプトの国際化

ruby-list ML で「変数名、関数名に日本語を」というのがあったので、ネタでやってみた。 # -*- coding: utf-8; -*- class Numeric def +(o) self + o end def −(o) self - o end def ×(o) self * o end def ÷(o) self / o end end 底辺 = 3 高さ = 4 底辺.…