2012-01-01から1年間の記事一覧

「2点を通る直線から離れた位置にある点までの距離を求める」をSqueak Smalltalkで

2点を通る直線から離れた位置にある点までの距離を求める - 偏った言語信者の垂れ流し | a b c u v L | a := 2@2. b := 6@4. c := 4@5. u := b - a. v := c - a. L := (u crossProduct: v) / v r. L "=> 2.218800784900917 " つらつら Point クラスを眺めて…

DCI パラダイムの提唱者、レインスカウ氏の BabyIDE で遊ぶ 改訂版

BabyIDE については元エントリーのこちらの長い前振りを参照してください。 DCI パラダイムの提唱者、レインスカウ氏の BabyIDE で遊ぶ - Smalltalkのtは小文字です さらに比較的新しいバージョンの BabyIDE を念頭に、インストールの仕方からコードや操作の…

循環を使った FizzBuzz を Squeak Smalltalk で

http://chaton.practical-scheme.net/gauche/a/2012/08/09 http://ideone.com/JOdYf この方針では以前も書いたような気がしますが、Squeak Smalltalk で無理なく書くとこんな感じになりますか。 | fizz buzz | fizz := [:n | #('' '' 'Fizz') atWrap: n]. bu…

HollingBerries問題をSqueak Smalltalkで

Any other Smalltalkers want to take a crack at github.com/apauley/Hollin… my take is already there #smalltalk— Dale Henrichsさん (@dhenrichs) 6月 20, 2012経由で、 GitHub - apauley/HollingBerries: A fictional scenario implemented in multipl…

Inverse Fizzbuzz を Squeak Smalltalk で

@yuroyoro 経由で just another scala quant とりあえずブルートフォース版を Squeak Smalltalk に写してみた。PartialFunction はスルー。 | fizzbuzz all results io inverses answer | fizzbuzz := [:n | | str | str := ''. (n isDivisibleBy: 3) ifTrue…

10種類のカードをコンプするのにかかるガチャ回数の分布をSqueak Smalltalkで

コンプガチャのヤバさ加減 が面白かったので Squeak Smalltalk でも書いて試してみました。Smalltalk の Bag というのは C++ でいうところの multiset です(逆ですが^^;)。 | hist cards | hist := Bag new. cards := 1 to: 10. 1000 timesRepeat: [ | pla…

“Buzzになる数字をn個挙げる”をSmalltalkで

ときどきの雑記帖 2012 経由 “Buzzになる数字をn個挙げる”をScalaで - 裏紙 Buzzになる数字をn個挙げる - 日々常々 を Squeak Smalltalk で書いてみる。 | fizzbuzz buzzgen | fizzbuzz := [:n | | str | str := ''. (n isDivisibleBy: 3) ifTrue: [str := s…

Squeak Smalltalk でライフゲーム

Smalltalk を書くのは誰だろうw / Coderetreat in Drecom powered by AgileShibuya on Zusaar zusaar.com/event/269004 @zusaarさんから— Yuji(秒読み)さん (@yujiorama) 4月 21, 2012 クレジットカード現金化詐欺【業界人が教える口コミ情報】 ―というの…

省メモリ版エラトステネスの篩を Scala で

Squeak Smalltalk の #largePrimesUpTo:do: をほぼそのまま Scala に書き換えてみました。手元の環境では残念ながら 1素数(28192750個。最大は 536870909)の生成を試したところ、おおよそ Squeak4.2 CogVM の倍速といった感じでした(1.8GHz Core i7 で Sq…

普通の言語ではどうやっても真似できない変態FizzBuzzをSqueak Smalltalkで

あるいは、いかにしてここ数年来の懸案だった n fizz buzz 形式のメソッドコールによる FizzBuzz をいわゆる“黒魔術”(―を通り越してもはや禁じ手の類)を用いて実現したか。 オーソドックスに―ということであれば n fizz, n buzz ifEmpty: [n] が Smalltalk…

子供だと5分で解けてプログラマだと1時間かかる問題を Squeak Smalltalk で

ネタバレ注意。 問題となっている画像は次のもの。問題文はテキストを記載している。 <問題>This problem can be solved by pre-school children in 5-10 minutes, by programmers -in 1 hour, by people with higher education… well, check it yourself!…

RubyやHaskellの部分適用っぽいものを引数にとるメソッド呼び出しをSqueak Smalltalkで

先週末の Ruby勉強会@札幌-22 にオーストラリアから参加されたアンドリュー・グリムさん の発表で知った Ruby の技。 本日の収穫 #ruby: [1,2,3].map(&1.method(:+)) => [2,3,4]。 Haskellで言う所の map (+1) [1,2,3]。 @tmaeda この発想はなかった。wそ…

“関数合成のススメ”の関数合成を Squeak Smalltalk で

関数合成のススメ 〜 オブジェクト指向プログラマへ捧げる関数型言語への導入その1 - ( ꒪⌓꒪) ゆるよろ日記 メソッドを合成して新しいメソッドを生成するのはちょっと手ごわそうなのであとまわしにして、まずは簡単な無名関数を使ったバージョンから試しま…

"the" 演算子ライクな thing メソッドを Squeak Smalltalk で

真・自然言語プログラミングの"the"演算子をClojureで - Homoiconic Days 「型を1つ引数にとり現在のスコープに唯一存在するその型のオブジェクトを返す演算子」である "the" ですが、あいにく Smalltalk のメッセージ式に the では馴染まないので thing と…

不正サイコロの目の出方をシミュレートするエイリアス法(二者択一法)を Squeak Smalltalk で

KentのSmalltalkでの記事。何年ぶりなんだか。http://t.co/EN0kCYAE @umejava 1月19日 経由で、 Rolling and Flipping: Vose' Alias Algorithm in Smalltalk Darts, Dice, and Coins 面白そうなのでちょっと趣向を変えて Squeak Smalltalk のジェネレーター…

Re: 配列の隣接する2項にそれぞれ演算を施した配列

Squeak Smalltalk には overlappingPairsCollect: という名前で標準装備されています。 もちろん等差数列を作るのにもこの関数は使えるのですが、この一般的に使える関数に使う名前としてはあまりに局所的。というわけで mapBetween としてみました。使いど…