by ノッチ » 2006年4月04日(火) 23:18
> 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
>
>
> 自分の期待では、k[1]に1を代入したいのに、k[0]に代入してしまいます。
>
> 理由も対処法もわかりますが、他の言語ではどうなのかわかりません。
> が、やはりこういう使い方は避けるべきなのでしょうか?
debugをCommandの最初に持ってきて確認してみてはどうでしょうか?
恐らくi=0になっていると思います。
今のABはどうなるかわかりませんが、Dimで確保した変数は0で初期化されたよ~な・・・
> 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
>
>
> 自分の期待では、k[1]に1を代入したいのに、k[0]に代入してしまいます。
>
> 理由も対処法もわかりますが、他の言語ではどうなのかわかりません。
> が、やはりこういう使い方は避けるべきなのでしょうか?
debugをCommandの最初に持ってきて確認してみてはどうでしょうか?
恐らくi=0になっていると思います。
今のABはどうなるかわかりませんが、Dimで確保した変数は0で初期化されたよ~な・・・