掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
If文またはSelect文を効率よくコーディングするには? (ID:143343)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
> 二つの書き方があるのですね。 「Not (A AndAlso B)」は、常に「Not A OrElse Not B」と同義です。 「Not (A OrElse B)」は、常に「Not A AndAlso Not B」と同義です。 ※上記は ド・モルガンの法則 と呼ばれています。 > Case "2624000" > Return c <> "008" AndAlso c <> "007" AndAlso c <> "009" →条件にあてはまったらfalseを返す 上記コードは、Case "2624000" において、 「c が、"008" でも "007" でも "009" でもない」ときに True 「c が、"008"、"007"、"009" のいずれか」ならば False を返す様になっていますね。 この結果を逆にして 「c が、"008" でも "007" でも "009" でもない」ときに False、 「c が、"008"、"007"、"009" のいずれか」ならば True としたいのであれば、単純に Not で囲めば OK です。 すなわち、先のコードに書いたように Return Not (c <> "008" AndAlso c <> "007" AndAlso c <> "009") になるということです。あるいは、ここにさらにド・モルガンの法則を適用して Return c = "008" OrElse c = "007" OrElse c = "009" と書くこともできます。 > 関数名のつけたの問題ととらえてよろしいのでしょうか? はい、関数名の話です。 動作上はどちらでも問題ありませんし、さほど深い意味はありません。 Edit が動詞だとしたら、be動詞(Is) + Edit は不自然かな、と感じただけです。 そのうえで、編集可能か不可能かを返すなら、CanEdit あたりが妥当かな、と。 なお、Boolean 型を返す変数やメソッド(関数)は、しばしば 「Is + 形容詞」「Is + 名詞」…例:IsNumeric、IsNothing 「Can + 動詞」…例:CanRead、CanWrite 「Has + 名詞」…例:HasValue、HasErrors 「Has + 過去分詞」例:HasExited 「三単元動詞」…例:Contains、Exists 「三単元動詞 + 名詞」…例:ContainsKey などが使われます。すべてがそうというわけでは無いですが。 http://www.aerith.net/design/bool-j.html http://objectclub.jp/community/codingstandard/CodingStdVB.pdf
←解決時は質問者本人がここをチェックしてください。
更新する
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.