.st

Print numbers

-7to:7 do:[:x|((16 radix:9-x)subStrings:$r)last displayNl]! Integer>>#radix: は基数が先頭に付いた文字列を返すので,これを除くために長くなる。 '10 11 12 13 14 15 16 17 20 22 24 31 100 121 10000'display! 実はこれでも同じ59バイト。報われない…

ST > RB ?

フィボナッチベンチ - Smalltalkのtは小文字です 意外。 というのも,一昨日あたりから GST と Ruby で SPOJ を解き始めていたのだが… PROBLEM RESULT TIME MEM LNG TEST AC 0.12 71232 ST TEST AC 0.01 3148 RUB FCTRL2 AC 0.32 71232 ST FCTRL2 AC 0.06 32…

x == x + 1

「x == x + 1」解答篇 - 西尾泰和のはてなダイアリー の続き。GNU Smalltalk*1: |x| x := 1e8. (x + 1 = x) print! ドリトル: x=9!17 pow。ラベル!(x==x+1)作る。Xtal: x: 1.0e+8; (x == x + 1).p; *1:07-11-30 訂正:x = x + 1 → x + 1 = x

look n say with: Regex

最近のGSTは正規表現が使えるらしく,試しに look'n'say を解いてみた。 残念ながらあなごるでは(バージョンが古すぎて)未対応なのでここに晒してみる。 |k s|k:=stdin nextLine. 1to:12 do:[:c|s:=''. k displayNl onOccurrencesOfRegex:'1+|2+|3+'asRegex …

GST install

smalltalkが結構面白くなってきた*1ので,処理系を入れてみることにした。 GNU Smalltalkのサイトをチェック。Win用のバイナリは無さそう*2。 仕方がないのでCygwinを導入することに。 何故かダウンロード途中に失敗のダイアログが沢山出る。 ダウンロード元…