类似 Ruby 的问题:使这个函数更短(ActionScript 3) [英] Ruby-like Question: Make this function shorter (ActionScript 3)

查看:22
本文介绍了类似 Ruby 的问题:使这个函数更短(ActionScript 3)的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我刚刚编写了这段令人难以置信的冗长代码,将 2 之类的数字转换为 02.您能否将此函数缩短一些(维护功能)?

I just wrote this incredibly verbose code to turn numbers like 2 into 02. Can you make this function shorter, please (maintaning the functionality)?

    public static function format(n:int, minimumLength:int):String {
        var retVal:String = n.toString();
        var stillNeed:int = minimumLength - retVal.length;
        for (var i:int = 0; i < stillNeed; i++) {
            retVal = "0" + retVal;
        }
        return retVal;
    }

请为变量使用类型.如果已经有一个我不知道的内置函数,则额外加分(良好氛围点,而不是 SO 点).

Please use types for variables. Extra points (good-vibe points, not SO points) if there's already a built-in function that I don't know about.

如果有人想用其他语言发布一些非常简短的等价物,那也会很有趣.

If anybody wants to post some extremely short equivalent in some other language, that would be fun too.

推荐答案

这不是最快的实现(它做了一些不必要的复制并有一个循环),但它很好且可读:

This wouldn't be the fastest implementation (it does some unnecessary copying and has a loop), but it is nice and readable:

public static function pad(num:int, minLength:uint):String {
    var str:String = num.toString();
    while (str.length < minLength) str = "0" + str;
    return str;
}

这篇关于类似 Ruby 的问题:使这个函数更短(ActionScript 3)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆