Язык программирования Crystal

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 содержит указатели, то он считается небезопасным.