2
crystal API docsは、object_id
が「このオブジェクトのメモリアドレス」であると言います。それは常にオブジェクトの寿命のためにユニークで同じ値であることが保証されていますか? Crystalはオブジェクトのメモリ位置をガベージコレクションの前に変更しますか?オブジェクトのobject_idは、オブジェクトの存続期間中一意であり、変更されないことが保証されていますか?
crystal API docsは、object_id
が「このオブジェクトのメモリアドレス」であると言います。それは常にオブジェクトの寿命のためにユニークで同じ値であることが保証されていますか? Crystalはオブジェクトのメモリ位置をガベージコレクションの前に変更しますか?オブジェクトのobject_idは、オブジェクトの存続期間中一意であり、変更されないことが保証されていますか?
asteriteとAkzhan Abdulinでコメントを要約すると:
現在(2017年3月現在)、はい。しかしそれはいつも真実ではないかもしれません。ハッシュも例外ではありません。
今のところ、私たちは分かりません(動いているGCがこの仮定を破る可能性があります) – asterite
@asterite「ハッシュ」は、今後オブジェクトの寿命の間は同じになると思いますか? –
Crystalではオブジェクトが不変ではないため、常に同じものとして宣言することはできません。 –