プログラミング言語 Crystal

Crystal の日本語ドキュメントはしばらく更新されておらず情報が古くなっているため、できるだけ原文の英語ドキュメントで最新の情報を参照ください。

翻訳にご協力いただける方は翻訳プロジェクトの issue や Crystal-JP の Slack からお知らせください。

pointerof

pointerof は、変数やインスタンス変数の格納場所を指すポインタを返します。

変数の例:

a = 1

ptr = pointerof(a)
ptr.value = 2

a #=> 2

インスタンス変数の例:

class Point
  def initialize(@x, @y)
  end

  def x
    @x
  end

  def x_ptr
    pointerof(@x)
  end
end

point = Point.new 1, 2

ptr = point.x_ptr
ptr.value = 10

point.x #=> 10

pointerof はポインタを扱うため「安全でない (unsafe)」ことに注意してください。