Colin Moock にジャパニーズActionScript魂を紹介する会に参加して来ました。
当日のアジェンダをもとにレポートを書きたいと思います。
■KEYNOTE
Colin Moock http;//moock.org
次回ASで実装されるであろうECMAScript4(えくますくりぷと4)について
お話頂いた内容を自分のノートにメモったものから
PDF:「ECMAScript 4th Edition Language Overview」最終ドラフト
を調べてページ番号をふりたいと思います。
一部、自分のノートが読めない事態に陥っておりまして
記事の記載内容で間違ってる箇所とかありましたら
ご指摘いただけると幸いです。(orz
・record type(P13)
new { x:int, y:string }( 3, "foo" )
・array_type 型付配列(P13)
[int,string]
・Union type 2つ以上の型を持った変数を定義(P14)
var x:{int,String}
・predefined union type いくつかの型を持った型定義(P14)
type AnyString = (string,String)
type AnyBoolean = (boolean,Boolean)
type AnyNumber = (byte,int,uint,double,decimal,Number)
type FloatNumber = (double,decimal)
・nested types 型を入れ子に出来る(P15)
type=hoge:{name:{last:String,first:String},born:Date,spouse:*}
・type constraints*** (自分のメモの字が読めませんでした…OTL) 引数に強制的にTypeをつける
・non-nullable NULL関連(P15)
var v:C! Cの型,NULLでは通らない
var v:C? Cの型,NULL許可
最初はNULLが入るから困るよね、以下で回避してとのこと
classC{
var x:D!
function c(p):x=p{
・・・・・・・・・・
}
}
・the like operator xがint,yがintならvに代入可能(インスタンスに関らず)(P16)
var v:like{x:int,y:int}
・Parameterized type 1クラスから動的に型を変えたインスタンスを発生させるもの
ハッシュを作る(P36?)
・lexical block Scoping 一時的に変数利用(P20)
{
let a=10,b=1
{
let a=20
trace(a;b) //21
}
trace(a) //10
}
・Generic function メソッドオーバーローディングと同じ(P23)
条件によって適用funcitonが変わる
generic function intersect(s1,s2) //ここの記載自身ありませんOTL
generic function intersect(s1:Shape,s2:Shape){
}
generic function intersect(s1:String,s2:String){
}
・Program unit 定義したものを呼び出せる(P24)
unit ・・・ //定義
use unit //呼出
use unit URLParser "http://www.mycompany.com/lib/URLParser"
unit URLParser {
use unit Splitter "http://www.mycompany.com/lib/splitter"
use unit Unicode "http://www.mycompany.com/lib/Unicode"
package com.mycompany.urlparser {
...
}
}
・Iterator 個々の要素をなめる機能(P25)
get:オブジェクトの取出し
next:次の内部要素に引渡す
type IterableType.<T> = {
iterator::get: function (boolean=): IteratorType.<T>
}
for ( i in new Fibber )
print(i)
要素を満たすオブジェクトであれば取得
ECMAScript4の実装によりより大きな案件にも対応出来る事
それでいて小回りの利くものにするのが狙いだそうです。
また記事内の(P**)は
PDF:「ECMAScript 4th Edition Language Overview」の最終ドラフトを
参考にしたページ番号です。
仕様を決める議論等は以下のページで常に行われているそうです。
メーリングリストが熱いらしい
http://www.ecmascript.org/
コリンさん曰く仕様は確定していないので
一部は変わるかもしれないとのこと。



