|
おはようございます。
>=Trueを全否定したつもりはないのだが。
>=Trueなしでも「大丈夫」とかいただけ。
この記述で、概ね同じ思いなのかなあ ということはわかりました。
最初のまろにえさんの投稿の
>たとえば
>If a = 2 Then
>を
>If (a = 2) = True Then
>と書いているようなものです。
>チェックボックスのValueはBooleanですから
>改めてTrueとの比較式をつけなくても大丈夫です。
この投稿、それまでのやりとりでここの部分が問題視されていなかったのに
出てきた投稿だったので、
>If (a = 2) = True Then
↑このように記述するべきではない とまで強くはなくても
軽い否定に感じたため こういう記述は分かりやすさという観点からは
軽くでも否定はできない という投稿をしました。
>ただ、「(= True)の省略」という話が出たので、それは違うとはいいましたが。
このやりとりは、仰るとおりですね!!
>(一手間増えてることは確かだから。)
>ましてや、実行速度に関してはまったく触れてません。
>差が出るわけもなく、興味すらなかった。
この一手間という意味さえ、私は、まろにえさんとは解釈が違っていました。
まろにえさんの上記の記述から
一手間増えても、(実行速度に)差が出るわけもなく・・・
ということですよね?
この文章からだと、VBAコードを記述の際、 =True という記述が増えることが
プログラマにとって、記述が増える=一手間 という意味に解釈できますが、違いますか?
そうだとすれば、
>ましてや、実行速度に関してはまったく触れてません。
という記述も 頷けます。
が、私はこの「一手間」という言葉、これをコードの記述の違いから
プログラムが処理する命令が一つ増えるため、
この一手間がたとえわずかでも実行速度を低下させる
と解釈しました。
よって、実際に試してみよう ということで投稿のようなコードを記述しました。
試行前は、もしかしたら実行速度は変わらないかもしれない
という感が働きました。
ソース段階では処理が増えているように見えても
コンパイル(中間コード作成)段階で
最適化が行われて、一手間が発生しないような中間コードが
作成されているかもしれない。
結果は、わずかながらですが、差が出ました。
以上が誤解の顛末です。
私は、このBoolean型のIF文での使い方、
どちらでも良いかなあ という判断です。
同じプログラム中である時は、=Trueを使い、
違う箇所では、=True を入れない という
一貫性のないのは困りますけどねえ。
仕事では、=True 入れています。
人の文章の解釈って難しいですね!!
数行でさえ、意味の取り方を違えてしまいます。
あらためて、日本語の解釈はむずかしいなあ
|
|