2007-09-01から1ヶ月間の記事一覧

今年1月の最後の日曜日は?

ruby-talk:271046 - Finding the last Sunday of a month より。ただし、もちろん Ruby ではなくて Squeak Smalltalk で(^_^;)。 最初に考えたのは、こんなかんじの。 | thisJan | thisJan := Month month: #Jan year: Date today year. thisJan dates rever…

世の中には三種類の人間がいる。

Smalltalk、ラヴ。(追記:問題が多いことは認識できている(^_^;)) Smalltalkは優れた点もあるが問題のほうが多い(だから私は使わない)。 Smalltalkって何? おそらくは、真の一番目と真の二番目がタッグを組むと三番目(≒大衆)ウケする良さげなものがで…

レイトレースベンチを Ruby で

昨日の続き。Smalltalk のコードを機械的に Ruby のコードに変換してみました。Ruby っぽくないところはご勘弁あれ、かし。 ray.rb 手元のがちょっと古めの Ruby なので、最新のものではもっと速いかもしれません。 $ ruby -v ruby 1.8.5 (2006-08-25) [powe…

レイトレースベンチを Squeak Smalltalk で

Flying Frog Consultancy - Ray tracer language comparison Matzにっき や 航海日誌 - 動的言語対静的言語(ただしGroovy対Scala) で取り上げられていた coding, by Derek Young: Scala vs. Groovy: static typing is key to performance 経由で。 Squeak Sm…

レイトレースベンチを Cincom Smalltalk で

ということで、Cincom Smalltalk(VisualWorks)向けに書き換えてみました。Squeak 版との違いは…、 double のリテラル表現の違い ファイルストリームの生成方法の違い #+ などを持たない Array を継承させてもうま味がないので、改めて Vec を Object 下で…

Squeak Smalltalk でシーザー暗号を簡単に

有名なところでは(で、それがデマであることは作者によって明らかにされているところではありますが(^_^;))'HAL' -> 'IBM' となるところのアレ。ふつうに一点の曇りもない読んだそのまんまの手続き的に書くと、 'HAL' collect: [:each | (each asciiValue …

Squeak Smalltalk における文字列リテラルとその同一性

シンボルとは何か その1(前編) - 文字列の同一性と同値性 @ 2007年09月 @ ratio - rational - irrational @ IDM 次は真だろうか。"abc" == "abc"勿論、真である。RubyではString#==はオーバーライドされていて、長さと内容が等しい文字列同士を比較すると真…

括弧の対応を調べる(…のにも使える)操作

一連のパイプ機能の話と関係あるような無いような。 Squeak Smalltalk 環境では、括弧のひとつ内側(開き括弧ならすぐ後、閉じ括弧ならすぐ前)をダブルクリックすることで注目している括弧に括られたテキストを選択できます。 ↓ 細かいことを言えば、「ダブ…

パイプ機能について

ときどきの雑記帖 リターンズ - Pipeにするかしないかそれが問題だ? 解説するほど詳しくはないのですが(^_^;)、その前に、きむら(K)さんの疑問に思われている点が分からないので、それを明らかにしていただければそれについて何か書けるかもしれません。 個…

自分のフィールドへのアクセスにアクセッサを使うことの是非

もちろん、すべてがすべてアクセサを利用するわけではない。だが、まさにいつか誰かのソースで問題が起きたり、忘れた頃の自分のソースに問題が起きたときのために、ここぞというフィールドについてはアクセサを利用する。 L'eclat des jours - 自分のフィー…