トップ «前の日記(2003-06-22) 最新 次の日記(2003-06-24)» 編集

TPRG: 迷走メモ書き

[Donate to CCjp]
2000|12|
2001|01|02|03|04|05|06|07|08|09|10|11|12|
2002|01|02|03|04|05|06|07|08|09|10|11|12|
2003|02|03|04|05|06|07|08|09|10|11|12|
2004|01|02|03|05|06|07|08|09|10|11|12|
2005|01|02|03|04|05|06|07|08|09|10|11|12|
2006|01|02|03|04|05|06|07|08|09|12|
2007|01|02|03|04|05|06|07|08|09|10|11|12|
2008|01|02|03|04|07|08|11|12|
2009|01|02|
2010|04|06|09|

2003-06-23

_ [work] 時間切れ

これ以上なく時間切れ。 私は何をやっているのか。

_ [prog] libimg-thumbnail-ruby

動くところまでいった。

_ [prog][ruby] コンストラクタの中でインスタンスメソッドを呼ぶ方法

new が終わっていないから、レシーバになるはずの self が存在しないせいで 出来ないものだとばかり思っていたら

__send__("method")

で良いらしい。

でも理由が分からない……。タイミングの問題なのか??

_ [prog][ruby] もう少し機能のあるアクセサを書くにはどうしたら

ruby は attr_* で簡単にアクセサを書くことが出来るけど、 これにもう少し機能を足したい場合はどうしたら良いのだろう。

class Foo
  @@bar = "bar"
  def initialize
    @bar = nil
  end
end

例えばこんなクラスで、同名のクラス変数があり、 かつインスタンス変数が nil ならばクラス変数の値を返す読み込み用関数と、 普通にインスタンス変数に書き込むための関数が欲しい。

一つずつ書けば

def bar; @bar == nil ? @@bar : @bar; end
def bar=(v); @bar = v; end

こういう風(書き込みは attr_writer そのまま)なのだが、 変数全部にちまちま書いてられない。

perl の様に未定義全部を引き受ける関数みたいなものは書けないようだし。 class_eval (instance_eval?) を使うのかね?

やすい師から「例外をあげて……」というヒントみたいなのを前にちょっと 聞いたけれど考えても分からない……

_ [misc] アンテナをつける

適当に動かしてみた。確かに便利だ。 URL に更新時間の(?) query strig をくっつけてくれるから、 ブラウザの機能で辿ったかどうかすぐ分かる(色が変わるから)というのが良いね。

_ [comp] ImageMagick で大きな png を保存しようとすると buffer error

sugi@tempest:~% convert -version            
Version: ImageMagick 5.5.7 06/10/03 Q16 http://www.imagemagick.org
Copyright: Copyright (C) 2003 ImageMagick Studio LLC
sugi@tempest:~% ll /usr/lib/libpng12.so.0
lrwxrwxrwx    1 root     root           19 2003-06-16 14:55 /usr/lib/libpng12.so.0 -> libpng12.so.0.1.2.5
sugi@tempest:~% convert ~/data/photo/dcim/100casio/cimg0001.jpg tmp.png
convert: buffer error (tmp.png).

何故か在る程度の大きさになると、パレットモードにしてやらないとちゃんと書けない模様。 libpng の問題なのかな?

"-type Palette" をつければ書ける(元画像が TrueColor なら減色されるけど)。 まあとりあえずこれで回避するか。

_ [comp] アンテナの最後につく「?数字」というのはいまいち気に入りません

それは確かに。実際にそれがサーバ側にリクエストされてしまいますし。

というわけで迷惑にならない様にいじってみる。 しかし、個人的に UA 側の既読判定が便利すぎるのでこれは外したくない。 ちょっとだけ悩んで 「#dummystr日付」 とかにしてみました。 あんまり変わってないけど 「?」 よりはましだろうと……

_ [prog][ruby] my_attr_accessor

本当にありがとうございます。

む。なるほど、 Module にメソッドを足せばいいのですか。 おまけに module_eval の意味を勘違いしていた模様……

とりあえずこれを使って少し書き直しに挑戦。

_ [misc] つくりものじさん復活

うーん。幸せ。

しかし病気だったとは。お大事に……

本日のツッコミ(全3件) [ツッコミを入れる]
_ tach (2003-06-23 13:23)

?????謄覆虜埜??砲弔?????????廚箸????里呂??泙??禅????????泙??鵝イ世辰銅尊櫃砲呂????? URL ?呂覆??錣?世????????縫??????????????里呂舛??辰箸????世覆???

_ MoonWolf (2003-06-23 14:45)

?????粉????任??腓????<br>class Module<br> private<br> def my_attr_accessor(*symbols)<br> symbols.each {|symbol|<br> module_eval(<<-EOS)<br> def #{symbol}; @#{symbol} == nil ? @@#{symbol} : @#{symbol}; end<br> def #{symbol}=(v); @#{symbol} = v; end<br> EOS<br> }<br> end<br>end<br><br>class Foo<br> @@bar = "bar"<br> def initialize<br> @bar = nil<br> end<br> my_attr_accessor :bar<br>end

_ ???? (2003-06-24 00:29)

?呂討淵????謄覆澆????法????瀬??譽?箸???CGI???儖佞??董????????未??里呂匹??任??腓????

お名前:
E-mail:
コメント:
[]


Tatsuki Sugiura <sugi@nemui.org>