ab.com コミュニティ https://www.activebasic.com/forum/ |
|
インクリメント時の左辺配列要素の参照回数 https://www.activebasic.com/forum/viewtopic.php?t=928 |
ページ 1 / 1 |
作成者: | 山本 [ 2006年4月06日(木) 21:26 ] |
記事の件名: | インクリメント時の左辺配列要素の参照回数 |
質問版で気づき辛い問題を発見された方がおりましたので、私のほうから詳細をご報告させていただきます。 コード: Dim i=1 As Byte,k[1] As Byte k[Command()]++ debug Function Command() As Byte Command=i If i>0 Then i=0 End Functionこのようなコードを実行すると、Command関数が2回呼び出されてしまう問題について、修正を行います。 n++ 通常は上記のようなコードは、 n=n+1 と同等の意味を持ちますが、今回の問題に関しては、 k[Command()]++ と k[Command()]=k[Command()]+1 は等しいとはいえません。プログラムの表記通り、配列要素の参照が一度しか記述されておりませんので、呼び出し回数も一度で済むように改良を行おうと思います。 |
作成者: | Kobu [ 2006年4月12日(水) 20:36 ] |
記事の件名: | インクリメントについて |
自分が発見したインクリメントによるバグ(?)が修正されたのは、ありがとうございます。 ただ、修正後のABにおいて文字列インクリメント コード: Dim S As String S+="a"を記述すると、内部エラーと表示されます。 報告ということで・・後はお任せします。 |
ページ 1 / 1 | 全ての表示時間は UTC+09:00 です |
Powered by phpBB® Forum Software © phpBB Limited https://www.phpbb.com/ |