我可以在haxe中做这样的事情吗:
trace ("Blue".description);
trace ("Green".description);
trace ("Red".description);
然后,在某处添加一个基于字符串值的开关,以针对每种情况返回不同的描述?
我看到人们使用它进行本地化,例如 "Car".i18()
有人可以帮忙吗?
查看静态扩展。
基本上,它允许您假装静态方法是成员方法,但第一个参数是您要操作的对象。
在你的例子中
class ColorDescriptions {
static public function description( color:String ) {
return switch (color) {
case "red": "passionate";
case "blue": "calm";
case "green": "environmentally friendly";
default: "unknown colour";
};
}
}
接着:
using ColorDescriptions; // Use static methods from `ColourDescriptions` as mixins
...
trace( "red".description() ); // "passionate"
这仅适用于方法/功能,不适用于属性。这样做"red".description()
是可能的,但"red".description
事实并非如此。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句