ToDo:
なんか SHORTEN に問題が増えてたので解いた。
http://www.spoj.pl/SHORTEN/problems/RECTAREA/
こういうの苦手だなあと思う。
(17:17)
スクリプト言語の || が結構好きだと思う。
# Makefile の引数 target=ARGV[0] # 省略されたら all を使う target||='all'
みたいなやつ。
その拡張として、 ゴルフ的にも普通のプログラム的にも、
a>0?a:b
みたいな形ってよくやりたくなるんだけど、 a を2回書くのがバカらしい。
幸い ruby だと FalseClass#> とか NilClass#> は定義されていない。 つまりだね…
class Fixnum alias :orig_gt :> alias :orig_lt :< def >(a) orig_gt(a) && self end def <(a) orig_lt(a) && self end end
# 引数で 0 以上が指定されればその値、デフォは 4 p ARGV[0].to_i>0||4
とかやってもさほど害は無いわけだ。
もうちょっと一般的には
obj.is_something? ? obj : default_obj
みたいなことをしたくなるよね。
ARGV[0].to_i.check(.>(0)) || 4
みたいな…
Object#check はなんか上の > と < の一般形というか 任意のメッセージを取る感じで、 .>(0) ってのはメッセージと引数をセットにしておくっていう クロージャみたいな何かは ruby2.5 あたりでは 僕の中ではサポートされることが確定してるのでそんな感じ。
このへんのはなし。
http://shinh.skr.jp/m/?date=20090831#p01
というかこれの最後の話。
http://www.kmonos.net/pub/Presen/fltv/FLTV.pdf
(20:05)
前 | 2011年 2月 |
次 | ||||
日 | 月 | 火 | 水 | 木 | 金 | 土 |
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 |
全てリンクフリーです。 コード片は自由に使用していただいて構いません。 その他のものはGPL扱いであればあらゆる使用に関して文句は言いません。 なにかあれば下記メールアドレスへ。