Flash ActionScriptでクロージャ

使ってないと忘れそうなので、ひさしぶりにFlash のリハビリ。(ただしMXしか買って無いのでAS1) ついでに、昔、リファレンス読んでも判らなかったところも克服したい。

以下、チラシの裏。。。

[pukiwiki]
*クロージャ
とりあえず、面白そうなほうから。
Python始めてから憶えたクロージャをAS1でも使えるか調べてみる。
_delete x,y
_function f1(x){
_ return function (y){ return x+y }
_ //無名関数&関数のネスト
_}
_trace(“global x=”+x+” y=”+y)
_f3=f1(3)
_trace(“f3(1)=”+f3(1)+” f3(100)=”+f3(100))

“global x= y=
f3(1)=4 f3(100)=103

こんなことが出来るとは知りませんでした。
昔読んだ合気道の本に「他の武術も習ったほうがうまくなる」って書かれてましたけれども、そういうこともあるのかも。(おおげさ)
*クロージャでジェネレータもどき
オセロの定石文字列を与えると、 呼び出すたびにx,y座標でひとつづつ返す関数を作成。妥当性チェックしてないです
_function gkifu(kifu_str){
_ var kifu_array=kifu_str.split(“”)
_ var x0=”a”.charCodeAt(0)-1
_ var y0=”0″.charCodeAt(0)
_ var idx=0
_ var idxend=length(kifu_array)/2
_ return function(){
_ ret=(idx

コメントを残す

メールアドレスが公開されることはありません。