0

这是我想在 Typescript 中执行的 Javascript 版本,需要注意的重要一点是我从 exports.error 函数(“exports.inform”)中引用 exports.inform 的方式:

exports.error = function(_string, _kvp){
    for(var _i = 0; _i < server.clients.length; _++i){
        if(server.clients[_i] != undefined && server.clients[_i].isValid()){
            exports.inform(server.clients[_i], _string, _kvp);
        }
    }
}

exports.inform = function(_client, _string, _kvp){
    var _output = tag + processAll(_string, _kvp);
    _client.printToChat(_output);
}

这是我在 Typescript 中的等价物,但在函数“错误”(“通知”)中错误地引用了“导出函数通知”:

export function error(_str:string, _kvp:Object) {
    for (var _i: number = 0; _i < server.clients.length; ++_i) {
        if (server.clients[_i] != undefined && server.clients[_i].isValid()) {
            inform(server.clients[_i], _str, _kvp);
        }
    }
}

export function inform(_client:Entity, _str:string, _kvp:Object) {
    var _output = tag + processAll(_str, _kvp);
    _client.printToChat(_output);
}

很抱歉解释模糊,我希望你能理解,如果太难理解,我会尽力澄清。

编辑:它给我的错误是在参数中执行字符串连接引起的“无效调用签名”,TS 显然不允许(除非在右括号中),所以 Ryan 的评论是正确的:只需调用inform. 谢谢尼潘。

4

1 回答 1

1

我不完全确定我了解您的问题或您为此尝试做的事情。但是,如果我对您的理解正确,则以下内容应该有效:

module exports {

    export function error(message: string){

        inform(message);
    }

    export function inform(message: string) {

        alert(message);
    }   
}

exports.error("some message");

然而,将函数放在这样的类中可能会更好:

class exports {

    public static error(message: string) {
        exports.inform(message);
    }

    public static inform(message: string) {
        alert(message);
    }   
}

export.error("一些消息");

我可能会误解你想要做什么..让我知道。

于 2013-10-09T08:24:06.733 回答