インスタンス変数

@で始まる変数はインスタンス変数で、オブジェクトインスタンスが存在する間は有効である。

Ruby入門 - 変数・定数 - とほほのWWW入門

class.rbで、

@valがインスタンス変数なので、オブジェクトがある間は値が保持される。

こうなる
こうなる

こうなる。

Sample/ruby/class/instance_variable/src/class at master · bg1bgst333/Sample · GitHub