http://www.rubyist.net/~matz/20060601.html#p02
「驚き最少の原則」という言葉は、まつもとさんが言い出したものでもなく、 またまつもとさんはもう既に使っていない言葉だとは知らなかった。 確かに、Matzにっきを「驚き最少」で検索してみても、このエントリしか出てこない。
「驚き最少の原則」と聞いてまず頭に浮かぶのは、 C++ と LISP と Ruby のストレス度合いのグラフが出てくるスライド。
今調べてみたところ、2002 年のスライドでは「『脳力』消費」のグラフとして出てきていた。 http://www.rubyist.net/~matz/slides/of-kansai2002/index.html
で、このスライドで「驚き最少の原則」も出てくる。 http://www.rubyist.net/~matz/slides/of-kansai2002/mgp00036.html
このスライドによって、自分の中では「驚き最少の原則」とこのグラフが結びついた形で 記憶されていた。 (このエントリを書くまで、グラフの縦軸は「驚き度」だと思い込んでいた)
その後、まつもとさんが「驚き最少の原則」を使わなくなったあとも、このグラフはスライドに出てくる。 例えば 2005 年のスライド。 http://www.rubyist.net/~matz/slides/tsukuba-seminar1/
よって、自分の中では「Ruby = 驚き最少」という認識を持ち続けていたのであった。
まつもとさん曰く、ruby-talk などでは打ち消していたとのことだったが、 ruby-talk は読んでいないので知らなかった。
Ruby の Array/Enumerable にも Test::Unit にも Rails にも、 配列が整列済みであるかどうかを調べるメソッド/アサーションはないようです。
標準であってよさそうな気はするのですが……
module Test::Unit::Assertions def assert_sorted(object, message=nil) first = true prev = nil sorted = true object.each do |e| if first first = false else if (block_given? ? !yield(prev, e) : (prev <=> e) != -1) sorted = false break end end prev = e end full_message = build_message(message, "<?> is not sorted.", object) assert_block(full_message){ sorted } end end
書いてみましたが、もうちょっとうまい書き方がありそうな気はします。
5月13日(土曜日)から7月2日(日曜日)までの土休日に、りんかい線内乗り降り自由な1日乗車券を発売します。値段は大人500円、小人250円。
http://www.twr.co.jp/info/2006/thanks_3rd.html
これはありがたい
当日スタッフとして、9日(前日準備)・10日・11日と参加しました。
何とか無事イベントを終了させることができ、微力ながらも貢献できたかなと 思っています。
全ての参加者の皆様、本当にありがとうございました。
メソッドの途中で値を返すには return を使います。
def f return 1 2 end f # => 1
では、ブロックの途中で値を返すにはどうするのか?
# [5, 5, 5] にしたい # map 派 [1, 2, 3].map{ |e| ???? 5; e}
こういうときは next に引数を渡すのだというのを、今日初めて知りました。
irb(main):008:0> [1, 2, 3].map{ |e| next 5; e } => [5, 5, 5]
ブロックの途中で yield の呼び出し元に値を返したいと思った経験があまりなかったので、 このようなケースを考えたことがありませんでした。 ちょっとショック。
継承元のメソッドは含まない
irb(main):005:0> pp (String.new.public_methods(false) & Array.new.public_methods(false)).sort ["*", "+", "<<", "<=>", "==", "[]", "[]=", "concat", "delete", "each", "empty?", "eql?", "hash", "include?", "index", "insert", "inspect", "length", "replace", "reverse", "reverse!", "rindex", "size", "slice", "slice!", "to_s"] => nil
るびまの「日本 Ruby カンファレンス 2006 特別号」が出ました。 http://jp.rubyist.net/magazine/?RubyKaigi2006
logger と編集のみなさんおつかれさまでした。 ありがとうございます。
_ kitaj [ぬぉぉぉぉ,yanagitaさんがここの人だって認識してませんでしたよっ! 大変失礼しました. おつかれさまでした.]
_ かくたに [大活躍だったと思います。]
_ yanagi [> kitajさん いえいえ、この日記ページには名前が出てきてませんでしたから :-) とりあえず出すようにしてみま..]