genzou #6537(2008/06/19 10:18 GMT) [ Groovy ] Rating0/0=0.00
Evalを使用しました。 不正な文字列が与えられた場合のセキュリティには弱いですね。 この場合、なにかいい方法があるのでしょうか。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
def calc( x, ho ){ x = x.replaceAll(/[0-9]+/, { def num = it.toInteger() seikika( num, ho ).toString() }) seikika(new Eval().me(x), ho) } def seikika( num, ho ){ while(num < 0 ){ num += ho } num % ho } println calc("10 + 35", 10) println calc("2 * 3", 10) println calc("11 * 12", 10) println calc("18 * 39", 10) println calc("-13 * 11",7) println calc("7 * 9",7) println calc("3 * 4",7)
Rating0/0=0.00-0+
[ reply ]
genzou
#6537()
[
Groovy
]
Rating0/0=0.00
Evalを使用しました。 不正な文字列が与えられた場合のセキュリティには弱いですね。 この場合、なにかいい方法があるのでしょうか。
def calc( x, ho ){ x = x.replaceAll(/[0-9]+/, { def num = it.toInteger() seikika( num, ho ).toString() }) seikika(new Eval().me(x), ho) } def seikika( num, ho ){ while(num < 0 ){ num += ho } num % ho } println calc("10 + 35", 10) println calc("2 * 3", 10) println calc("11 * 12", 10) println calc("18 * 39", 10) println calc("-13 * 11",7) println calc("7 * 9",7) println calc("3 * 4",7)Rating0/0=0.00-0+
[ reply ]