微妙なコツがあります。例を考えてみましょう。これはファイルを使って、スカラに代入された値を記録し続けるというものです。executed:これを実行したときの出力は次のようになります。this:まずまずですね。必要とします)を使うために変更したものです。why:このコードを実行したとき、なにも出力されません。関数のいずれかの返した値であるオブジェクトに結び付けられます。変数からの暗黙のリファレンスだけを持っています。呼ばれたとき、このリファレンスは破棄されます。ファイルがクローズされます。リファレンスがまだ存在しているということです。このためデストラクタはその時には呼び出されません。ファイルはクローズされないのです。フラッシュされていなかったからです。message:さて、あなたはもうこれが問題であることがわかったでしょう。それを指摘してくれます。次のような警告メッセージを出力します。正当なリファレンスをなくすようにします。関連付けられるかを決定できます。オブジェクトで呼び出しできます。意味のあることでしょう。メソッドが存在するなら、上記の警告は起こりません。