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扱いであればあらゆる使用に関して文句は言いません。 なにかあれば下記メールアドレスへ。