これはばかげているように聞こえるかもしれません。我慢してください。で遊んでいるexpr
ときに、次のシナリオに出くわしました
proc badExpr { a b } {
return expr $a+$b
}
proc goodExpr { a b } {
return [ expr {$a+$b} ]
}
puts "Bad Expression Result : --->[ badExpr 1 3 ]<-----"
puts "Good Expression Result : [ goodExpr 1 3 ]"
出力:
Bad Expression Result : ---><-----
Good Expression Result : 4
ご覧のとおり、procbadExpr
は空の文字列を返しています。好奇心から、なぜ空の文字列を返すのか知りたいです。