Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
sumiiの日記
[go: Go Back, main page]

sumiiの日記 このページをアンテナに追加 RSSフィード

2007-05-21

高階関数の件

tDiaryタイムアウトしてしまったので、こちらで追記)

http://www.rubyist.net/~matz/20070512.html#p04

あと、一般に(広い意味で)何らかの言語の抽象構文みたいに、複数のコンストラクタを持つユーザ定義データ型に対するイテレータ(fold)は複数の関数引数が必須なので、ライブラリだけ調べるより、むしろfunctional pearlなどを見たほうが…

レコードやstructureでまとめるにせよ、(たとえばRubyだったら)ブロックがそのままでオブジェクトになっていれば、さらに楽になるかと思いました。少し違いますが、SchemeではLispのfuncallがいらない、みたいな。

追記:まだtDairyのコメントがタイムアウトします。;_; リロードすると投稿できているようですが。

「ブロックを二つ書く」というのは、たとえばif文をboolのメソッドにしてthen節とelse節を渡したり(?)とか、一般にコンストラクタが複数のデータ型(boolはtrueとfalseの二つ)に対する制御構造を記述したりとか、そういう話です。そうしたほうが良いと言っているわけでは必ずしもなくて、もしそうしても既存の文法に影響はないのでは、という思考実験として。

追記2:とりあえずRubyソースコードのparse.yだけ改造して、

data = [1, 2, 3]
data.each { |i|
  print i, "\n"
} { |i|
  print i, "\n"
} { |i|
  print i, "\n"
}

が構文解析だけできるようにしてみました(意味なし)。普通のmake testもバッチリ(死語)です。生まれて初めて書いたRubyプログラムです!(←だからRubyプログラムになってないってば) でも、この変更だけなら一分でできたので(method_callなどの直後のbrace_blockを複数にしただけ)、やっぱり何が難しいのかよくわからない…。単数の場合にも影響していないし。何か見落としているのだろうか。

[]テレビ

最近、帰宅すると占星術スピリチュアルカウンセラー超能力捜査などの番組が目白押しです。他の多くの人と同じく、はじめは僕もなんじゃこりゃーと思っていたのですが、悟りました。これは作る人も見る人も確信犯*1で、何を言っても逆効果なので、とにかくひたすらネタにすべきです(「水商売」系書籍なども同様)。でも私はセンスがないので考え中。

[]爆弾発言

最近、「S井さんのブログは怖い」ないし「S井さんは怖い」等と言う声を耳にするので、助長してみる(おい)。

私自身は(おそらく平均的日本人と同程度に)無神論者&多神論者ですが、モルモン教を(本来の定義はさておき)「新興宗教」呼ばわりするのはちょっと酷だと思った。ちなみに、ソルトレイクシティアメリカの都市としては非常にきれい(clean)でした。どこかで見かけた説によれば、天理市がきれいなのと同じとか何とか。

*1:という語法は誤用ですが