2007年 03月 07日

へぇ

今の ART-SCHOOL と奥華子ってレーベル一緒 (ポニーキャニオン) なのか。ていうかポニーキャニオンがよくわかんない。どういうレーベルなんだ

the pillows ってキングレコーズじゃなくなって tearbridge になったのか。エイベックス系っていいイメージが皆無だ。
Good Dog Happy Men も avex trax/tearbridge production アーティスト (どういう意味なのかよくわからない) ってなってるんだよなぁ。リリースはないけど

~/src/rubygems: ruby1.8.5 setup.rb

gem はどうインストールしようが shebang を書きかえてくれないので、インストールしたあとに書きかえないといけない。あるいは ruby1.8.5 /opt/ruby1.8.5/bin/gem とかやらないといけない。スクリプト書いたほうがいいかもしれない。
ちなみに rake (本体のほう) は shebang をインストール時の ruby に書きかえてくれる。

hoe: rake install_gem

これ内部でたぶん %x{gem install pkg/*.gem} とかやってて、env パスのほうの gem が実行されてしまうので、ruby1.8.5 を別にインストールしてパス通してない場合にはうまくいかないっぽい。そーすヨンデナイから嘘かもしれない。
すくなくともインストール作業中は ruby のパスを上書きしてあげないといろいろハマるみたいだ

PATH=/opt/ruby1.8.5/bin:$PATH /opt/ruby1.8.5/bin/rake install_gem

gem native extension

別の ruby を別の場所にいれても、ビルド時にシステムのほう (/usr/lib/ruby/1.8/universal-darwin8.0) のヘッダとか読みにいってるので実行時とかコンパイル時とかにエラーになる。gem がコンパイルするまえに %x{ruby extconf.rb} とかたぶんやってて PATH よんでるからみたいだ。

PATH=/opt/ruby1.8.5/bin:$PATH sudo /opt/ruby1.8.5/bin/gem install mongrel
PATH=/opt/ruby1.8.5/bin:$PATH sudo /opt/ruby1.8.5/bin/gem install fastthread

とかやった。export したほうが間違えないかもしれない。でもシェル閉じわすれて後でまたハマりそうでこわい。

TextField

htmlText って改行とかそのままでるんだなぁ。replace(/\s+/, " ") とかしないと直感的にならない
fontsize の単位が謎すぎる。

alpha が効かないのはなんでだ……

AS3

型縛りがきらい。Java じゃん!
スコープが直感的じゃない。インスタンス変数とローカル変数のみためが同じだから、どっちであるか判別するためにインスタンス変数を頭にいれておかないといけない。アンスコ履かせたりするんだろうけど、public プロパティはどうするんだよぅっていうか、プロパティとメソッドを区別してるのが……


ループで回すかーってときに、「あれここの型ってなんだっけ」って考えないといけない。一時変数の代入でもそう。JS 書いてるときは、ダックタイピングできるけど、AS だと警告もふくめて細かいからめんどい。書かなくてもいいってことも多いけど、スピードが犠牲になるんじゃなぁとか思って結局書いてしまう。で思考中断

Ruby の Enumerable を Perl でやるの

データ

foo = [
	{ :hoge => 5, :jitensya => "a" },
	{ :hoge => 3, :jitensya => "b" },
	{ :hoge => 6, :jitensya => "c" },
	{ :hoge => 0, :jitensya => "d" },
	{ :hoge => 9, :jitensya => "e" },
	{ :hoge => 1, :jitensya => "f" },
]
my @foo = (
	{ hoge => 5, jitensya => "a" },
	{ hoge => 3, jitensya => "b" },
	{ hoge => 6, jitensya => "c" },
	{ hoge => 0, jitensya => "d" },
	{ hoge => 9, jitensya => "e" },
	{ hoge => 1, jitensya => "f" },
);


all?

foo.all? {|i| i[:hoge] < 10 } #=> true
foo.all? {|i| i[:hoge] < 5 } #=> false
atode kanngae ru

any?

foo.any? {|i| i[:hoge] < 10 } #=> true
foo.any? {|i| i[:hoge] < 5 } #=> true
atode kanngae ru

collect, map

result = foo.map {|i| i[:hoge] }
@result = map { $_->{hoge} } @foo;

find, detect

result = foo.find {|i| i < 5 }
$result = wakannnai


find_all, select

result = foo.select {|i| i[:hoge] < 5}
@result = grep { $_->{hoge} < 5} @foo;

inject

result = foo.inject("") {|r,i| r << i[:jitensya] } #=> "abcdef"
$result = wakannnai

member?, include?
atode

max

result = foo.max {|a,b| a[:hoge] <=> b[:hoge] }
$result = (sort { $a->{hoge} <=> $b->{hoge} }
           @foo)[-1];


min

result = foo.min {|a,b| a[:hoge] <=> b[:hoge] }
$result = (sort { $a->{hoge} <=> $b->{hoge} }
           @foo)[0];

max_by

result = foo.max_by {|i| i[:hoge] }
$result = (sort { $a->[1] <=> $b->[1] }
           map  { [$_, $_->{hoge} ] }
           @foo)[-1];

min_by

result = foo.min_by {|i| i[:hoge] }
$result = (sort { $a->[1] <=> $b->[1] }
           map  { [$_, $_->{hoge} ] }
           @foo)[0];

partition

reject

sort

%w(5 1 2 7 8).sort #=> ["1", "2", "5", "7", "8"]
@result = sort qw(5 1 2 7 8);

sort_by

result = foo.sort_by {|i| i[:hoge] }
@result = map  { $_->[0] }
             sort { $a->[1] <=> $b->[1] }
             map  { [$_, $_->{hoge} ] }
             @foo;

zip
atode

バーコード

PC のカメラでバーコード読んで、買った商品の管理できたらかっこいいよなぁ。

http://plusd.itmedia.co.jp/mobile/articles/0411/22/news038.html
こういうのあるんだ。オープンソースなライブラリないかな!