前回のF-Scriptのコードからついで,Amabrai Smalltalkのwindowも実行してみた.
Amabrai Smalltalk
window := MacWindowFrame new position: 100@100;
extent:300@300.
window open.
こちらの方がSqueak(Smalltalk)で好きですが,F-Scriptの方が開発環境はSqueak(Smalltalk)に近いような気がします.
やっぱり僕はSqueakが一番好きです.
2007年6月15日金曜日
F-Script and Squeak (001 - window)
F-Script とSqueakのコードを比較してみたいと思ったので,Windowを開くだけの単純のProgramを書いてみました.
F-Script
> window := NSWindow alloc initWithContentRect:(100<>100 extent: 300<>300) styleMask:NSTitledWindowMask+NSClosableWindowMask backing:NSBackingStoreBuffered defer:true
> window orderFront:nil
Squeak
window := SystemWindow new bounds:(100@100 extent:300@300).
window openAsIs
参考 マイコミジャーネル
う〜ん,どちらも似ていますね.(当たり前かな?)
SqueakでMorphを開くのはいつもopenInWorldなのですが,今回は大きさを最初に指定して,開くというCodeが書きたかったので,openAsIsを使ってみました.
この調子でがんばれば,Objective-Cなしで,MacのApplicationが書けるのかな?
ただ少しObjective-Cのノウハウがあった方がよさそうですね.
F-Script
> window := NSWindow alloc initWithContentRect:(100<>100 extent: 300<>300) styleMask:NSTitledWindowMask+NSClosableWindowMask backing:NSBackingStoreBuffered defer:true
> window orderFront:nil
Squeak
window := SystemWindow new bounds:(100@100 extent:300@300).
window openAsIs
参考 マイコミジャーネル
う〜ん,どちらも似ていますね.(当たり前かな?)
SqueakでMorphを開くのはいつもopenInWorldなのですが,今回は大きさを最初に指定して,開くというCodeが書きたかったので,openAsIsを使ってみました.
この調子でがんばれば,Objective-Cなしで,MacのApplicationが書けるのかな?
ただ少しObjective-Cのノウハウがあった方がよさそうですね.
2007年6月13日水曜日
TwoPTextEditer0.01
SqueakでMorphを使ったツールを作成.
といってもすごく簡単なツール.
Workspaceが二段になっているものです.
使用方法はまた書きます.
よかったら使ってください.
TwoPTextEditer0.01.st
対応Version Squeak 3.8,3.9
このツールを使って何らかの問題が発生しても,責任はとれませんのでご了承ください.
といってもすごく簡単なツール.
Workspaceが二段になっているものです.
使用方法はまた書きます.
よかったら使ってください.
TwoPTextEditer0.01.st
対応Version Squeak 3.8,3.9
このツールを使って何らかの問題が発生しても,責任はとれませんのでご了承ください.
2007年6月4日月曜日
reverse
最近関数型をほんの少し勉強して気になったこと.
reverse.
リストを反転させるものです.
SqueakやRuby,Pythonでもおなじみの機能です.
ところでSqueakではreverseはどのように動いているのでしょう.
ちょっと調べてみました.
reverseはSequenceableCollection>>reverseが元のよう.そのなかではself reversedをしているのでそちらを参考.
SequenceableCollection>>reversed
"Answer a copy of the receiver with element order reversed."
"Example: 'frog' reversed"
| n result src |
n := self size.
result := self species new: n.
src := n + 1.
1 to: n do: [:i | result at: i put: (self at: (src _ src - 1))].
^ result
なるほど・・・.
Squeakってプログラミングの勉強にもなりそうですね.
へっぽこ学生(自分のこと)にはかなりいい教材です.
reverse.
リストを反転させるものです.
SqueakやRuby,Pythonでもおなじみの機能です.
ところでSqueakではreverseはどのように動いているのでしょう.
ちょっと調べてみました.
reverseはSequenceableCollection>>reverseが元のよう.そのなかではself reversedをしているのでそちらを参考.
SequenceableCollection>>reversed
"Answer a copy of the receiver with element order reversed."
"Example: 'frog' reversed"
| n result src |
n := self size.
result := self species new: n.
src := n + 1.
1 to: n do: [:i | result at: i put: (self at: (src _ src - 1))].
^ result
なるほど・・・.
Squeakってプログラミングの勉強にもなりそうですね.
へっぽこ学生(自分のこと)にはかなりいい教材です.
登録:
投稿 (Atom)