printfの自作
Posted feedbacks - Groovy
Javaのprintf系APIは使わずに自作。%dと%sに対応。フォーマット後の文字列を返すようにしています。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | def mysprintf(fmt, Object...arglist) {
def n = 0
fmt.replaceAll (/%(-?[0-9]*)([sd])/) {m0,m1,m2 ->
def value = arglist[n++].toString()
if (m1.size() != 0) {
def w = Integer.parseInt(m1)
if (w < 0) {
value = value.padRight(-w)
}
else if (w > 0) {
value = value.padLeft(w)
}
}
return value
}
}
assert mysprintf("AAA%10sBBB", "abc") == "AAA abcBBB"
assert mysprintf("AAA%-10sBBB", "abc") == "AAAabc BBB"
assert mysprintf("AAA%10dBBB", 10) == "AAA 10BBB"
assert mysprintf("AAA%-10dBBB", 10) == "AAA10 BBB"
assert mysprintf("%s,%d", "a", 1) == "a,1"
|

yappy
#4119()
[
C
]
Rating-2/20=-0.10
Rating-2/20=-0.10-0+
[ reply ]