| Antoine.st | About Smalltalk |
#Smalltalksml で出ていた話題 ([SML 6219] SharpSmalltalk) によりますと、.NET 版の Smalltalk が完成したそうです。その名も SharpSmalltalk ということで、さっそくダウンロードしてみました。このページでは、その辺の Smalltalk にまつわるお話を書きたいと思ってます。 以下で紹介したサンプルは、実際のところ動きません。「c:\windows\microsoft.net\framework\v1.0.3705\Config\machine.config が読み取れない」という例外が発生するためです。ちょっと理由はわかりませんが、↓のような .config ファイルを作成してやれば、とりあえず動くようです。
<supportedRuntime version="v1.1.4322" />; Hello, World.ということで、さっそくやってみます。Compiler のページにいくつか簡単なコードが紹介されているので、まずはそれから。以下のようなコードを書いて、hello.sif というファイル名で保存します。あとは、コマンドラインから sst hello.sif で、ビルド、と。 Smalltalk interchangeVersion: '1.0'! Global initializer! "Here to add a prereq annotation"! Annotation key: 'Prerequisite' value: 'Smalltalk.sif'! Global initializer! Transcript print: 'Hello, SharpSmalltalk World.'! Reading HTML file on the web.解説はあとで。 Smalltalk interchangeVersion: '1.0'! Global initializer! "Here to add a prereq annotation"! Annotation key: 'Prerequisite' value: 'Smalltalk.sif'! Global initializer! | url request response sr result | url := 'http://www.google.com/'. request := System.Net.WebRequest Create: url. response := request GetResponse. sr := System.IO.StreamReader new: response GetResponseStream. result := sr ReadToEnd. Transcript print: result. sr Close! Reading HTML file on the web(use Encoding).解説はあとで。 Smalltalk interchangeVersion: '1.0'! Global initializer! "Here to add a prereq annotation"! Annotation key: 'Prerequisite' value: 'Smalltalk.sif'! Global initializer! | url request response enc sr result | url := 'http://www.google.com/'. request := System.Net.WebRequest Create: url. response := request GetResponse. enc := System.Text.Encoding GetEncoding: 'Shift_JIS'. sr := System.IO.StreamReader new: response GetResponseStream. result := sr ReadToEnd. Transcript print: result. sr Close!
|