Opens in a new windowOpens an external websiteOpens an external website in a new window
This website utilizes technologies such as cookies to enable essential site functionality, as well as for analytics, personalization, and targeted advertising purposes. To learn more, view the following link: Cookie Policy
25. 型推論の例(3)
• 仮引数の型推論
• 値型(Int, Float等)の推論が失敗しやすい
• 仮引数への入力補完も効かなくなるので
私はあまり多用していない
function circle(r : Float) r * r * 3.14;
function circle(r) r * r * 3.14;
26. 仮引数がうまく型推論できない例
• Float -> Float -> Floatが推論失敗
• 宣言順序によって推論失敗
function add(a, b) a + b;
add(10.5, 3.1); //Float should be Int
function f(x) { /* ... */ }
f(100); //ここで引数の型がIntになる
f(5.5); //NG
function f(x) { /* ... */ }
f(5.5); //ここで引数の型がFloatになる
f(100); //OK
27. 匿名型
• いわゆる構造体
• カスケードも可能
• リファレンス
– http://haxe.org/manual/struct
typedef Object = {
id : Int,
?name : String, //省略可能な項目
}
typedef Rectangle = {>Object,
size : { width : Int, height : Int },
position : { x : Int, y : Int },
}