2015-06-19 23 views
5

Tôi thường thấy mọi người sử dụng từ khóa using trong mã Haxe của họ. Dường như nó đi theo sau câu lệnh import.Từ khóa `using` trong Haxe là gì?

Ví dụ, tôi thấy đây là một đoạn mã:

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

nó làm gì và như thế nào?

Trả lời

13

Tính năng kết hợp "sử dụng" của Haxe cũng được gọi là "static extension". Đó là một tính năng đường cú pháp tuyệt vời của Haxe; chúng có thể có tác động tích cực đến khả năng đọc mã.

Tiện ích mở rộng tĩnh cho phép mở rộng các loại hiện có giả mà không sửa đổi nguồn của chúng. Trong Haxe, điều này đạt được bằng cách khai báo một phương thức tĩnh với đối số đầu tiên của kiểu mở rộng và sau đó đưa lớp xác định vào ngữ cảnh thông qua từ khóa using.

Hãy xem ví dụ sau:

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; 
    } 
} 

Run ví dụ này ở đây: http://try.haxe.org/#C96B7

thêm thông tin trong tài liệu haXe:

Các vấn đề liên quan