今日が6月か、9月か、12月か、3月なら「予定月です」と表示する最も短いスクリプトを教えていただけないでしょうか。caseとかを使えばいいものでしょうか。
素人がやると下記のようになってしまいます。
<% If Month(date()) = 6 or Month(date()) = 9 or Month(date()) = 12 or Month(date()) = 3 then %>
予定月です。
<% Else %>
違います。
<% End if %>
#プログミングの初心者のため、初歩的なところを確認したいと思っての質問です。
No.1
- 回答日時:
ASPの書き方は知らないので、ロジックとしてのアドバイスです。
剰余演算子はありませんか?
つまり、わり算をした時の商ではなくて、「余り」を返してくれる演算子です。
C言語等では%がそれに当たります。
この剰余演算子があるのなら、if文を
「月を3で割って、余りが0ならば真」というのが良いかと。
No.2
- 回答日時:
Case文であれば短くはないですけど、予定月の変更や、別の文字を表示するといった変更などが楽そうですね。
<%
Select Case Month(date())
Case 3,6,9,12
Response.Write("予定月です。")
Case Else
Response.Write("違います。")
End Select
%>
あと、IF文に「Month(date())」が4つある事で4回の「Month(date())」を実行している気がします。IF文を使うのであれば変数に入れた値に対して判定するほうがいいですね。
No.3ベストアンサー
- 回答日時:
最も短いかどうかは解りませんが。
#しかも今ごろですが。
No.1の方の回答どおりだと思います。VBScriptで表記すると
#インデントのため行頭に全角スペース入れてます。
<%
If (CInt(Month(Date())) Mod 3 = 0 Then
Response.Write("予定月です。<br>" & vbCrLf)
Else
Response.Write("違います。<br>" & vbCrLf)
End If
%>
かと。
「最も短い」にこだわる理由はわかりませんが。
別に求める結果が同じなら書き方は問わないと思います。
「スマートで解りづらいソース」より「稚拙でも解りやすいソース」の方が
私はありがたいです。
「俺のロジック、クレーバーだろ?!」と自慢したいのなら別ですが。
それと余計なお世話かもしれませんが、s-holmesさん。
「初心者」であるのならこういった場で質問するより基礎をしっかり学ぶ方が
先だと思いますよ。スマートなロジックは基礎の上に成り立ちます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・人生のプチ美学を教えてください!!
- ・10秒目をつむったら…
- ・あなたの習慣について教えてください!!
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・【大喜利】【投稿~9/18】 おとぎ話『桃太郎』の知られざるエピソード
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
PHP+MySQLで月ごとの数量を表...
-
日替わりメッセージを表示させ...
-
SQLローダーCSV取込で、囲み文...
-
SQL*Loader Append
-
【PL/SQL】FROM区に変数を使う方法
-
ファイルの漢数字の順番につい...
-
単一グループのグループ関数で...
-
SELECT FOR UPDATE で該当レコ...
-
group byの並び順を変えるだけ...
-
where句中のtrim関数について
-
select文の実行結果に空白行を...
-
int型フィールドにnullを登録で...
-
テーブルの最後(最新)のレコー...
-
並べ替えについて
-
アクセスのレポートでレコード...
-
ハイフンの入ったデータの並べ替え
-
BLOBやCLOBのパフォーマンスを...
-
ACCESS レコードの並び順について
-
割合(パーセント)を求めるには?
-
データ
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
PHP+MySQLで月ごとの数量を表...
-
postgresのカレンダーについて
-
By moving its office to Calif...
-
MySQLのUPDATE文でサブクエリ
-
データ更新用のphpの記述でデー...
-
PHPでMySQL内のデータの合計値...
-
dateのフィールドタイプについて
-
Prologの現在時間の取得
-
掲載日と更新日の管理の仕方
-
今日が6月か、9月か、12月...
-
MySQL + PHP 同じテーブル内で...
-
on duplicate key update 構文
-
PHPとMysqlを使用した集計表の...
-
【PL/SQL】DATE型の時刻の表示...
-
SQLローダーCSV取込で、囲み文...
-
select文の実行結果に空白行を...
-
【PL/SQL】FROM区に変数を使う方法
-
ファイルの漢数字の順番につい...
-
テーブルの最後(最新)のレコー...
-
単一グループのグループ関数で...
おすすめ情報