ab.com コミュニティ

ActiveBasicを通したコミュニケーション
現在時刻 - 2024年4月27日(土) 21:41

全ての表示時間は UTC+09:00 です




返信する
ユーザー名:
件名:
メッセージ本文:
メッセージを入力してください。60000 字まで入力できます。 

フォントサイズ:
フォントカラー
オプション:
BBCode: ON
[img]: ON
[flash]: OFF
[url]: ON
スマイリー: OFF
BBCode を無効にする
URL を自動的にパースしない
クイズ
お手数ですがカタカナで「エービー」と4文字を入力してください。:
答えを正確に入力してください。答えられるかどうかでスパムボットか否かを判定します。
   

トピックのレビュー - インクリメント時の左辺配列要素の参照回数
作成者 メッセージ
  記事の件名:  インクリメントについて  引用付きで返信する
自分が発見したインクリメントによるバグ(?)が修正されたのは、ありがとうございます。

ただ、修正後のABにおいて文字列インクリメント
コード:
Dim S As String
S+="a"
を記述すると、内部エラーと表示されます。

報告ということで・・後はお任せします。
投稿記事 Posted: 2006年4月12日(水) 20:36
  記事の件名:  インクリメント時の左辺配列要素の参照回数  引用付きで返信する
質問版で気づき辛い問題を発見された方がおりましたので、私のほうから詳細をご報告させていただきます。

コード:
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

は等しいとはいえません。プログラムの表記通り、配列要素の参照が一度しか記述されておりませんので、呼び出し回数も一度で済むように改良を行おうと思います。
投稿記事 Posted: 2006年4月06日(木) 21:26

全ての表示時間は UTC+09:00 です


ページ移動:  
Powered by phpBB® Forum Software © phpBB Limited
Japanese translation principally by ocean