投稿
Rwi RWIIUG0129
「 A$=A$+"文字列" 」という指定の代わりに、「 INC A$,"文字列" 」というプログラムの書き方をしても、動作に問題はないのでしょうか? 上記2つのプログラムの指定は、完全に同一の動作をするものだと思い込んでいたのですが、この書き方の違いによって、作成中のプログラムにバグが発生していたようです。この2つの指定の動作結果は、実際には異なるものなのでしょうか?
1そうだね
プレイ済み
返信[1]
親投稿
れい rei-nntnd
動作が違う。 この間のアップデートでも変わったし、その前も微妙に違っていたような気がする。 shallow copyとdeep copyというか、バッファの再配置の処理が異なる。 incはバッファの再取得なし、A$+””はあり。 何のアナウンスもなかったので、今後も突然変わるかもしれない。 どうしたらいいのかは難しいが、速度が気にならない部分にはA$+""の方で作っておくのがオススメ。 これ以上詳しい説明はいつもの常連オッサン達による解説が必要だと思われる。 よろしく。
2そうだね
プレイ済み
返信[2]
親投稿
けい kei0baisoku
以前にほかの方の投稿を見てですが、3.1.0より前は動作は全く同じだったそうです。 両方とも今のA$+""の挙動です。 とりあえずはれいさんと同じくA$+""方式が安全でオススメです。 なお、挙動が変わったのはインフォも無いしバグではないかと言われています。私もそんな気がしてます。ただ、もともとINC A$'""の使い方自体がマニュアルに載ってませんでしたので、不具合として報告した人はいないかもしれません。 間違ってるとことかこれ以上詳しい説明とかは、いつものベテランの方々が解説してくださるかも。(´ω`)/オナシャス
1そうだね
プレイ済み
返信[3]
親投稿
ish owlis1
はじめまして けいさんの投稿の保管というか、「例のガイドブック」に記載があったので投稿します。 Webの命令表にはincでの文字列結合は書いてなかったと記憶していいます。 例のガイドブックを見たところ「文字列に文字を加えることも可能」との記載ありました。 今後は仕様として加えていく気はあるようです。多分。 ただ「代入と同じ動きを保証するとは書いてない」ので、お二人の言われているように、動きとしては未知数です。 現状は「A$=A$+"文字"」が妥当と思われます。 詳細言語仕様等は、私より詳しい、いつものベテラン職人の方々が解説してくれることでしょう。よろしく願います。
1そうだね
プレイ済み
返信[4]
親投稿
グレイ pokers
おっさん来ないじゃん(笑)
0そうだね
プレイ済み
返信[5]
親投稿
Rwi RWIIUG0129
バージョンアップで動作が変わってしまう......というケースもあるのですね。なんとも恐ろしいです。 ishさんのおっしゃるとおり、例のガイドブックの57ページにも「 INC A$,"文字列" 」という動作例が記載されていたので、この動作の違いはバージョン3.1.0のみで発生する不具合なのかもしれませんね。 アドバイスの通り、暫くの間は「 A$=A$+"文字列" 」方式でプログラミングを行いたいと思います。 皆さん、詳細なコメントをありがとうございました。 私からしてみれば、どなたも十分ベテランですよ!(笑)
1そうだね
プレイ済み