sizeof¶
sizeof
は与えられた型のバイト数を Int32
で返します。例をあげます。
sizeof(Int32) # => 4
sizeof(Int64) # => 8
Reference 型である場合は、そのサイズはポインタのサイズと同じになります。
# 64ビット処理系の場合
sizeof(Pointer(Int32)) # => 8
sizeof(String) # => 8
この理由は、Reference のメモリはヒープに割り当てられ、渡されるのはそこを指すポインタになるためです。 実際のクラスのサイズを得るには、instance_sizeof を使用してください。
sizeof の引数は型なのでtypeofとあわせて使うことが多いでしょう。
a = 1
sizeof(typeof(a)) # => 4