Techioz Blog

コードを変更したにもかかわらず、古いコードを実行している Visual Studio Code ターミナル [重複]

概要

私はコーディングが非常に初心者で、WSL Ubuntu 拡張機能を使用して Visual Studio Code をインストールしたばかりです。少し遊んですべてがどのように機能するかを感じたかったので、Ruby で非常に単純な「hello world」コードを実行することから始めました。

出力は正常に出力されましたが、str1 を「Not hello」に変更してコードを再度実行しようとしましたが、ターミナルは依然として古い結果を出力しています。まだ「Not hello world」ではなく「hello world」と表示され続けます。

さまざまな種類の単純なコードでこれを試してみましたが、ターミナルは依然として新しいコードではなく古いコードを実行します。

これは非常に簡単な修正かもしれませんが、私は初心者すぎて理解できません。ターミナルで最新の更新されたコードを実行するにはどうすればよいですか?

解決策

新しいファイル編集セッションを作成すると、その内容は保存コマンドを発行するまでエディタ内のメモリ内のバッファに保存されます。あるいは、既存のファイルをエディタにロードする場合は、ファイルの内容を編集バッファに読み込みます。いずれの場合も、現在は 2 つの別々のコピーが存在します。1 つはバッファー内に、もう 1 つはファイル システムに保管されています。エディターのバッファーに加えられたリビジョンは、編集バッファーを明示的に保存するまで、ファイル システムのコピーとは独立しています。 VS Code などのエディタでは、編集タブにこれが視覚的に通知されます。バッファとファイルが同期されている場合はタブに「x」が表示され、バッファが変更されているがまだ保存されていない場合はドットが表示されます。

コマンドラインから Ruby を実行すると、プログラムのファイル システム コピーに Ruby インタープリタが適用されます。保存されていない編集内容はそのコピーには存在しないため、出力には反映されません。これを修正するには、プログラムを実行する前にエディタを保存します。

50 年間コーディングを続けてきた今でも、私は時々この間違いを犯します。行った編集の結果が表示されない場合は、編集タブを確認してください。 「x」ではなくドットがある場合は、保存して再実行します。