Pascalで同時変数代入をしたいです。
私の知る限り、それは不可能です。この問題についてグーグルで調べてみると、多くのプログラミング言語がそれを実装していることがわかりますが、Pascal でそれを行う方法が見つかりません。
たとえば、Python では次のようにできます。
(x, y) = (y, x)
Pascal では、x を削除する前にその値を保持する追加の変数が必要です。次のようになります。
bubble := x;
x := y;
y := bubble;
では、Pascal には同時代入がありますか、それとも上記のバブルのようなものにコードを書き直す必要がありますか?
スワップを行うだけではありません。時々私はこのようなことをしなければなりません:
(x,y) = (x+1,y+x)
以下のようにしてもよろしいでしょうか?
old_x := x;
old_y := y;
x := x + 1; // maybe x := old_x + 1;
y := old_y + old_x;