http://www.iolanguage.com/
http://f21.aaa.livedoor.jp/~kizz/prog/io/_docs/IoProgrammingGuide_ja.html
探検
Io Language
■ このスレッドは過去ログ倉庫に格納されています
2008/01/24(木) 00:03:44
2008/01/24(木) 07:51:21
なんでそんな伸びそうも無いものを。
>1 にネタ振りが出来ないようなら早晩落ちるぞ。
>1 にネタ振りが出来ないようなら早晩落ちるぞ。
2008/01/24(木) 12:04:58
言語そのものは知らんが実装はガベコレだけ読んだな。
2008/01/24(木) 13:20:05
ioの構文、メッセージ機構はすごく興味あるんだけど
バインディング機構がヘボいから萌えない…
バインディング機構がヘボいから萌えない…
2008/01/24(木) 22:28:07
特殊形式に見えるものが普通のメソッドだったりするからメタプログラミングとかは結構できそうだな
文法もわりとわかりやすいな
文法もわりとわかりやすいな
2008/01/25(金) 03:22:30
このインターネッツ時代にわざわざ検索しにくい名前をつけんなと
2008/01/26(土) 17:04:19
>>5
それは良いけど、これはいただけない気が…
Range
v := "before"
f := method(arg, arg)
v println #=> before
0 to(10) foreach(v, v println) #=> 012345678910
v println #=> 10
それは良いけど、これはいただけない気が…
Range
v := "before"
f := method(arg, arg)
v println #=> before
0 to(10) foreach(v, v println) #=> 012345678910
v println #=> 10
2008/01/27(日) 23:15:50
2008/02/03(日) 10:14:47
2008/02/03(日) 10:18:52
>>7
Rubyのブロックと同じ問題ですなあ
Rubyのブロックと同じ問題ですなあ
2008/02/03(日) 10:42:51
v := "before"
が無くても同じ、これは嫌だな
Rubyのは1.9で直ってるんだよね
が無くても同じ、これは嫌だな
Rubyのは1.9で直ってるんだよね
12デフォルトの名無しさん
2008/02/03(日) 10:57:05 LLパトルロワイヤルスレから来ました
io-languageの話題はここでいいのかな・・・
まあいいや
io-languageでメッセージ?オブジェクトそのものを取り出すにはどうしたらいいんでしょ
Io> unko := Object clone do(puripuri := method("&&&" println))
==> Object_0x581898:
puripuri = method(...)
Io> unko puripuri
&&&
==> &&&
Io> unko puripuri slotSummary
&&& ←puripuriが実行されてしまう
==> "&&&": ←文字列にslotSummaryしてしまう
上記で、puripuriを取り出したいのですが・・・
io-languageの話題はここでいいのかな・・・
まあいいや
io-languageでメッセージ?オブジェクトそのものを取り出すにはどうしたらいいんでしょ
Io> unko := Object clone do(puripuri := method("&&&" println))
==> Object_0x581898:
puripuri = method(...)
Io> unko puripuri
&&&
==> &&&
Io> unko puripuri slotSummary
&&& ←puripuriが実行されてしまう
==> "&&&": ←文字列にslotSummaryしてしまう
上記で、puripuriを取り出したいのですが・・・
2008/02/03(日) 10:57:55
> io-languageの話題はここでいいのかな・・・
>
> まあいいや
コピペ失敗 orz ここは読み飛ばしてください
>
> まあいいや
コピペ失敗 orz ここは読み飛ばしてください
2008/02/03(日) 11:01:52
unko getSlot("puripuri")
ってこと?
ってこと?
2008/02/03(日) 11:45:22
2008/02/03(日) 19:40:17
何かよさげな言語の予感
2008/02/03(日) 19:58:23
>>7
v := "before"
f := method(arg, arg)
v println #=> before
Sandbox doSandboxString("Range; 0 to(10) foreach(v, v println)")
v println
スマートとは言い難いけど、Sandboxを使ってとりあえず回避。
v := "before"
f := method(arg, arg)
v println #=> before
Sandbox doSandboxString("Range; 0 to(10) foreach(v, v println)")
v println
スマートとは言い難いけど、Sandboxを使ってとりあえず回避。
187
2008/02/03(日) 20:39:23 >>17
Sandboxなんてあったのか…
あれから考えて、こんな風にやってみた。
うまくいっているようには見える。
scope := method(
expr := call message arguments first
context := Object clone
msg := message(do)
msg setNext(expr)
context prependProto(call sender)
context forward := method( self proto doMessage(call message clone do( setNext(nil) )) )
context doMessage(msg)
)
obj := Object clone
obj l := list(1, 2, 3)
obj f := method( scope( l foreach(v, v println) ))
chk := method( "[obj] " print ; obj slotNames print ; " [v] " print ; Lobby slotNames println )
obj f ; chk
scope( obj l foreach(v, v println) ) ; chk
obj l foreach(v, v println) ; chk
scopeブロック(?)内で self がいる(self l とする)ような仕様で良ければ forward メソッドの設定は省ける。
Sandboxなんてあったのか…
あれから考えて、こんな風にやってみた。
うまくいっているようには見える。
scope := method(
expr := call message arguments first
context := Object clone
msg := message(do)
msg setNext(expr)
context prependProto(call sender)
context forward := method( self proto doMessage(call message clone do( setNext(nil) )) )
context doMessage(msg)
)
obj := Object clone
obj l := list(1, 2, 3)
obj f := method( scope( l foreach(v, v println) ))
chk := method( "[obj] " print ; obj slotNames print ; " [v] " print ; Lobby slotNames println )
obj f ; chk
scope( obj l foreach(v, v println) ) ; chk
obj l foreach(v, v println) ; chk
scopeブロック(?)内で self がいる(self l とする)ような仕様で良ければ forward メソッドの設定は省ける。
2008/02/05(火) 02:38:43
↓のみてて思ったんだけど、++とか--みたいな演算子って直接呼べないの?
ttp://blog.xole.net/article.php?id=658
value := 0
value ++ := method(self = self + 1)
value -- := method(self = self - 1)
value ++ println
value -- println
結果はファイルから読み込むと何もでないんだけど、コンソール(?)からやるとなんか出力されるんだよね
> io
Io> value := 0
==> 0
Io> value ++ := method(self = self + 1)
==> method(...)
Io> value ++ println
==> 1
Io> value ++ println
==> 1
Io> value println
==> 0
なんでだろ?
あと、↓のにすると上手く動く。この違いがわからない...orz
value getSlot("++") setScope(value) call println
value getSlot("--") call println
ttp://blog.xole.net/article.php?id=658
value := 0
value ++ := method(self = self + 1)
value -- := method(self = self - 1)
value ++ println
value -- println
結果はファイルから読み込むと何もでないんだけど、コンソール(?)からやるとなんか出力されるんだよね
> io
Io> value := 0
==> 0
Io> value ++ := method(self = self + 1)
==> method(...)
Io> value ++ println
==> 1
Io> value ++ println
==> 1
Io> value println
==> 0
なんでだろ?
あと、↓のにすると上手く動く。この違いがわからない...orz
value getSlot("++") setScope(value) call println
value getSlot("--") call println
2008/02/05(火) 03:07:40
>>19
selfに代入しても、元のが変わらんっぽい
Io> value := 0
==> 0
Io> value test := method(self = "banzai!")
==> method(
self = "banzai!"
)
Io> value test
==> banzai!
Io> value
==> 1
selfに代入しても、元のが変わらんっぽい
Io> value := 0
==> 0
Io> value test := method(self = "banzai!")
==> method(
self = "banzai!"
)
Io> value test
==> banzai!
Io> value
==> 1
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- なぜリベラルは人気がないのか 斎藤幸平さんが指し示す未来への道筋:朝日新聞 [少考さん★]
- 【日本人の旅行離れ】国内旅行すら行けなくなった……オーバーツーリズムだけじゃない 旅行者減少の異常事態 ★2 [ぐれ★]
- “ひとり焼肉”でおなじみ「焼肉ライク」が閉店ラッシュ。なぜ「コスパが悪い」と言われてしまうのか [Gecko★]
- 女性天皇「賛成」69%、将来の皇位継承「不安」68%…読売世論調査 [蚤の市★]
- なぜ安っぽく見えてしまうのか…? ダウンジャケット姿が垢抜けない人の"意外な盲点" (ビジネスマンのためのスタイリスト) [少考さん★]
- 【日中】経団連会長、1月の北京訪問に暗雲 中国は受け入れ是非明らかにせず 関係「政冷経冷」に [煮卵★]
- 「SCORE」←これなんて読むんや?🙋🏡
- 【高市朗報】鈴木大臣「嫌儲のデマに騙されないで。お米券の使い勝手は悪くない。卵味噌醤油も買えます。現金と変わりません」 [517459952]
- iPhone高騰する説、デマだった!ハードからOSまで全てAppleが作るからメモリも自給自足、iOSはメモリ少なくて良いから128MBぐらいでOK [749674962]
- お前らどの程度の底辺なの?
- 🏡おい!返事しろ︎︎!知的障害者!
- 【悲報】東京40代「生活苦しい!戸建てなんて絶対無理…」地方20代「家と車買って子供できた~今日は家族でモールで買い物」 [732289945]
