Lua では数値と文字列は相互に変換可能です。 http://ideone.com/zvnjL print( math.sin("1.0") ) -- OK print( string.byte(0) ) -- OK. "0" の文字コード(ASCIIの場合 48 ) これは通常、細かいことを気にしなくていいので割と便利なわけですが、 type 関数を使った場合や == で比較する場合などは、思わぬバグの元になったりします。 で、そのような場合に、文字列から数値、数値から文字列への強制型変換があると良いのですが、 文字列から数値への変換は assert( tonumber(x) ) と書けばいいのに対し、 数値から文字列への変換には、ちょうどいい関数がありません。 一応、あらゆる型から文字列への変換をする、 tostring 関数というのはあるのですが、 これは数値以外も文字列に変換する上