トップ «前の日記(2011-02-05) 最新 次の日記(2011-02-07)» 編集

はじめてのにき

ここの位置付け

2004|11|
2005|03|04|05|06|07|08|09|10|11|12|
2006|01|02|03|04|05|06|07|08|09|10|11|12|
2007|01|02|03|04|05|06|07|08|09|10|11|12|
2008|01|02|03|04|05|06|07|08|09|10|11|12|
2009|01|02|03|04|05|06|07|08|09|10|11|12|
2010|01|02|03|04|05|06|07|08|09|10|11|12|
2011|01|02|03|04|05|06|07|08|09|10|11|12|
2012|01|02|03|04|05|06|07|08|09|10|11|12|
2013|01|02|03|04|05|06|07|08|09|10|11|12|
2014|01|02|03|04|05|06|07|08|09|10|11|12|
2015|01|02|03|04|05|06|07|08|09|10|11|12|
2016|01|02|03|04|05|06|07|08|09|10|11|12|
2017|01|02|03|04|05|06|07|08|09|10|11|12|
2018|01|02|03|04|05|06|07|08|09|10|11|12|
2019|01|02|03|04|05|06|07|08|09|10|11|12|
2020|01|02|03|04|05|06|07|08|09|10|11|12|
2021|01|02|03|04|05|06|07|08|09|10|

ToDo:


2011-02-06

_ 面積

なんか 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)

お名前:
E-mail:
コメント:
人生、宇宙、すべての答え
本日のリンク元

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
1.いわさき(2014-05-24 01:54) 2.shinh(2014-05-24 01:54) 3.notogawa(2014-05-24 01:54)
search / home / index

全てリンクフリーです。 コード片は自由に使用していただいて構いません。 その他のものはGPL扱いであればあらゆる使用に関して文句は言いません。 なにかあれば下記メールアドレスへ。

shinichiro.hamaji _at_ gmail.com / shinichiro.h