2015-06-19 14 views
5

Spesso vedo persone che usano la parola chiave using nel loro codice Haxe. Sembra andare dopo le dichiarazioni import.Qual è la parola chiave `using` in Haxe?

Per esempio, ho trovato che questo è un frammento di codice:

import haxe.macro.Context; 
import haxe.macro.Expr; 
import haxe.macro.Type; 
using haxe.macro.Tools; 
using Lambda; 

cosa fa e come funziona?

risposta

13

La funzione di mixaggio "uso" di Haxe è anche denominata "static extension". È una grande caratteristica sintattica dello zucchero di Haxe; possono avere un effetto positivo sulla leggibilità del codice.

Un'estensione statica consente pseudo-estendere i tipi esistenti senza modificarne l'origine. In Haxe ciò si ottiene dichiarando un metodo statico con un primo argomento del tipo di estensione e quindi portando la classe di definizione nel contesto tramite la parola chiave using.

Date un'occhiata a questo esempio:

using Test.StringUtil; 

class Test { 
    static public function main() { 
     // now possible with because of the `using` 
     trace("Haxe is great".getWordCount()); 

     // otherwise you had to type 
     // trace(StringUtil.getWordCount("Haxe is great")); 
    } 
} 

class StringUtil { 
    public static inline function getWordCount(value:String) { 
     return value.split(" ").length; 
    } 
} 

Esegui questo esempio qui: http://try.haxe.org/#C96B7

informazioni nella documentazione Haxe:

Problemi correlati