if

条件を満たしていればその行の命令を実行

if p1

p1 : 条件式

解説

p1の条件式が満たされていれば、それ以降の命令を実行する。満たされていない場合は、次の行に移ります。
BASICと違い、その行の次の命令との間には :(コロン)を入れなければいけないので注意してください。

例 :
	a=10
	if a=10 : mes "aは10です。"

上の例では、「a=10」の部分が条件式になります。条件式には主に、

	a=b  : aとbは等しい
	a!b  : aとbは等しくない
	a<b  : aはbよりも小さい
	a>b  : aはbよりも大きい
	a<=b : aはbよりも小さいか等しい
	a>=b : aはbよりも大きいか等しい

を使います。if+条件式の後は:(コロン)で区切り、それに続いて条件が満たされた場合に実行される部分を書きます。
(C言語やJavaと同じように「=」「!」を「==」「!=」のように記述することも可能です) もし、条件によってプログラムの流れを変えたい場合には、

例 :
	a=10
	if a>10 : goto *over10
	mes "aは10以下です。"
	stop
*over10
	mes "aは10より大きいです。"
	stop

上のように、goto命令で別なラベルに飛ばすことも可能です。
また、else命令を使って条件が満たされなかった場合の処理を同じ行に書くことも可能です。

例 :
	a=10
	mes "aは、"
	if a=10 : mes "10です。" : else : mes "10ではありません。"
	stop

この場合は、else命令のある部分までは、条件を満たした場合に実行され、else命令以降は、条件を満たされなかった場合に実行されます。
次の行以降は、条件に関わらず通常通りに実行されます。

より複雑な条件判断をするために、論理演算式を使うこともできます。

   a&b  : aとbがともに正しい (and)
   a|b  : aとbのどちらかが正しい (or)

これによって複数の条件を一度に記述することができます。

例 :
	a=10:b=20
	if (a=10)|(b=10) : mes "aかbのどちらかが10です。"

上の例では、「a=10」と「b=10」 という条件式を|(or)でつないで、どちらかが正しい場合には、正しいという結果が出るようにしています。
論理演算は、 「|」「&」といった記号の他に「or」「and」という文字列でも記述することができます。

例 :
	if (a=10)or(b=10) : mes "aかbのどちらかが10です。"

上のように書いても、結果は同じになります。

if命令の条件が正しい時に実行されるスクリプトを複数行に渡って記述する場合は、

例 :
	a=10
	if a>5 {
		mes "TRUE"
		mes "(MULTILINE IF)"
	}

のように「{」で始めて「}」で終わる部分までを指定します。
(上の例では、 見やすくするためにC言語風に行の最初にTABを入れてありますが、特に必要なものではありません。ユーザーの見やすいように記述してください)

else命令でも複数行の指定ができます。

例 :
	a=10
	if a>5 {
		mes "TRUE"
		mes "(MULTILINE IF)"
	}
	else {
		mes " FALSE"
		mes " (MULTILINE IF)"
	}
	return

ただし、else の後に「{」を記述しなければ複数行にはならないので注意してください。

関連項目

else条件を満たしていなければその行の命令を実行

サンプル逆引き (403)

addline.hsp
ahtman_kw.hsp
aplkey.hsp
aplkey3.hsp
aplnote.hsp
appconfig.hsp
arduino_test1.hsp
arduino_test2.hsp
arduino_test3.hsp
arduino_test4.hsp
arduino_test5.hsp
arraynote.hsp
arraynote.hsp
arusave.hsp
aviplay.hsp
battle.hsp
block1.hsp
block2.hsp
block3.hsp
block3.hsp
block3.hsp
block3_ad.hsp
bmpsave.hsp
boxf_snake.hsp
buffer.hsp
button_test.hsp
calcsheet.hsp
cdplay.hsp
celput.hsp
celputm.hsp
chase_cl.hsp
cl_getpath.hsp
clbk_gwlwndpproc.hsp
clbk_gwlwndpproc.hsp
client2.hsp
clipboard_history.hsp
cnvaxis.hsp
cnvaxis.hsp
cnvsrc.hsp
comtest3.hsp
comtest4.hsp
comtest5.hsp
comtest7.hsp
csvnote.hsp
csvstr.hsp
customshader.hsp
d3m.hsp
d3m_techdemo.hsp
daytime.hsp
defcfunc.hsp
demo.hsp
demo_en.hsp
dirbox.hsp
dircsv.hsp
doukutu.hsp
drop.hsp
drop_dish.hsp
ease_test3.hsp
ease_test3.hsp
editor.hsp
emit_sample1.hsp
emit_sample2.hsp
emit_sample3.hsp
eprim.hsp
es_test10.hsp
es_test11.hsp
es_test12.hsp
es_test13.hsp
es_test2.hsp
es_test3.hsp
es_test4.hsp
es_test5.hsp
es_test6.hsp
es_test7.hsp
es_test8.hsp
es_test9.hsp
facedetect.hsp
facemove1.hsp
facemove2.hsp
feedback.hsp
file_watch.hsp
filedialog.hsp
folder.hsp
ftime.hsp
fullscr.hsp
fuujin_dish.hsp
fwmap1.hsp
fwmap2.hsp
fwmap3.hsp
fwmap4.hsp
fwtest2.hsp
fwtest3.hsp
fwtest4.hsp
fwtest5.hsp
fwtest6.hsp
fwtest7.hsp
fxdir.hsp
fxinfo.hsp
gblur.hsp
gemini.hsp
get_binary.hsp
getpath.hsp
getpath.hsp
gpm.hsp
grect.hsp
groll.hsp
grotate.hsp
grotate.hsp
gsquare.hsp
gsquare.hsp
hgview.hsp
hidmon_test1.hsp
hidmon_test2.hsp
hsp3imp_test.hsp
hspcmp.hsp
hspkeyword2.hsp
hsplogo.hsp
hsptv_dishtest.hsp
hsptv_test2.hsp
hsptv_test3.hsp
htmlput.hsp
http.hsp
http_test1.hsp
http_test2.hsp
https_download.hsp
imgload.hsp
input_test.hsp
itunes_mon.hsp
joystick1.hsp
joystick1.hsp
joystick2.hsp
joystick2.hsp
joystick3.hsp
joystick3.hsp
kakiget.hsp
keymove1.hsp
keymove2.hsp
keymove3.hsp
keymove4.hsp
kick.hsp
kick_dish.hsp
landing.hsp
libptr.hsp
light_test1.hsp
light_test2.hsp
light_test3.hsp
light_test4.hsp
light_test5eff.hsp
loadsave.hsp
mahjong.hsp
mapedit.hsp
mapmove1.hsp
mapmove2.hsp
maptest2.hsp
maptest3.hsp
maptest4.hsp
menusample.hsp
meshmap.hsp
meshmap2.hsp
meshmap3.hsp
meshmap4.hsp
meshmap5.hsp
meshmap6.hsp
meshmap7.hsp
mini_chr.hsp
mkexe.hsp
mkpack.hsp
mmaudio1.hsp
mmaudio2.hsp
mmaudio4.hsp
modtest1.hsp
modtest2.hsp
modtest4.hsp
mtouch.hsp
multimon.hsp
multitouch1.hsp
multitouch1.hsp
multitouch2.hsp
multitouch2.hsp
multitouch3.hsp
multitouch3.hsp
named_pipe.hsp
nearobj.hsp
nkfcnv.hsp
noframe.hsp
noframe.hsp
note2.hsp
note2.hsp
noteadd.hsp
noteadd.hsp
obaqhg1.hsp
obaqhg2.hsp
obaqhg3.hsp
obaqme.hsp
obaqtest.hsp
objfade.hsp
objshadow.hsp
objsort.hsp
omedetai.hsp
onexit.hsp
onkey.hsp
particle.hsp
physics_1.hsp
physics_2.hsp
physics_3.hsp
picload.hsp
pipe.hsp
pipe2.hsp
poker.hsp
poker_dish.hsp
posteffect.hsp
power_info.hsp
pronama2.hsp
pronama3.hsp
pronama4.hsp
pronama5.hsp
pronama_box.hsp
qvbtest.hsp
reg_edit.hsp
regtest2.hsp
rssload.hsp
sample_01_basic.hsp
sample_01_urldownload.hsp
sample_02_droptarget.hsp
sample_02_memolite.hsp
sample_02_Rect_Ellip.hsp
sample_03_basic.hsp
sample_03_Color_Brush.hsp
sample_04_Penstyle.hsp
sample_05_DrawText.hsp
sample_06_TransMode.hsp
sample_07_Curve.hsp
sample_08_Copy.hsp
sample_09_imagetest.hsp
sample_15_d3wincx.hsp
sample_16_d3setlocal.hsp
sample_17_d3setlocal_shadow.hsp
sample_19_getmouse.hsp
sample_7z.hsp
sample_ai.hsp
sample_ble.hsp
sample_cam_ai.hsp
sample_camera_mf.hsp
sample_camera_mf_dual.hsp
sample_camera_preview.hsp
sample_clip.hsp
sample_csv.hsp
sample_designer.hsp
sample_dialog.hsp
sample_duckdb.hsp
sample_gif_anim.hsp
sample_hash.hsp
sample_http_get.hsp
sample_ini_config.hsp
sample_json.hsp
sample_llama.hsp
sample_mcp_client.hsp
sample_mcp_server.hsp
sample_mediapipe_hand.hsp
sample_mic_record.hsp
sample_midi.hsp
sample_onnx.hsp
sample_pdf.hsp
sample_player.hsp
sample_ribbon.hsp
sample_ruffle.hsp
sample_speech.hsp
sample_toast_winrt.hsp
sample_video_player.hsp
sample_video_player2.hsp
sample_wasm.hsp
sample_wasm_shared.hsp
sample_weather.hsp
sample_webpdf.hsp
sample_webserver.hsp
sample_websocket.hsp
sample_webview2.hsp
sample_webview2_bridge.hsp
sample_wgcapture.hsp
sample_winrtocr.hsp
sample_xlsx.hsp
sampview.hsp
sapi_speech.hsp
sd_test3.hsp
sd_test4.hsp
sendmail.hsp
server2.hsp
settex.hsp
shoot.hsp
shoot_dish.hsp
skybox.hsp
sndedit.hsp
spr3d_1.hsp
spr3d_2.hsp
spr3d_3.hsp
star_liner.hsp
stick.hsp
strex_test1.hsp
swfload.hsp
tamadot.hsp
tamadot.hsp
tamadot_dish.hsp
tamadot_dish.hsp
tamaenaga.hsp
tamaenaga_dish.hsp
tamane1.hsp
tamane1.hsp
tamane2.hsp
tamane2.hsp
tamane3.hsp
tamane3.hsp
tamane4.hsp
tamane_face.hsp
tamane_jump.hsp
tamane_jump.hsp
tamane_s.hsp
tamane_s.hsp
tamane_s_dish.hsp
tamane_s_dish.hsp
tamane_tree.hsp
terminal.hsp
test1.hsp
test1.hsp
test1.hsp
test1.hsp
test1.hsp
test1.hsp
test1.hsp
test10.hsp
test10.hsp
test10.hsp
test11.hsp
test11.hsp
test12.hsp
test12.hsp
test13.hsp
test13.hsp
test2.hsp
test2.hsp
test2.hsp
test2.hsp
test2.hsp
test2.hsp
test2.hsp
test2.hsp
test3.hsp
test3.hsp
test3.hsp
test3.hsp
test3.hsp
test4.hsp
test4.hsp
test4.hsp
test4.hsp
test5.hsp
test5.hsp
test5.hsp
test5.hsp
test6.hsp
test6.hsp
test6.hsp
test6.hsp
test7.hsp
test7.hsp
test7.hsp
test8.hsp
test8.hsp
test8.hsp
test9.hsp
test9.hsp
test9.hsp
test_compile.hsp
test_editor.hsp
test_gettag.hsp
test_layerobj.hsp
test_mml.hsp
test_status.hsp
tile.hsp
tof2.hsp
tof2_dish.hsp
typing.hsp
usbiotest.hsp
utftest3.hsp
uvscroll.hsp
view_test.hsp
volsamp.hsp
vpadmove.hsp
wave.hsp
web.hsp
xsample_alphapaint.hsp
xsample_alphastg.hsp
xsample_amano.hsp
xsample_Astro.hsp
xsample_diamond.hsp
xsample_gcube.hsp
xsample_gcube.hsp
xsample_gimbal.hsp
xsample_Rocket.hsp
xsample_shiraho.hsp
xsample_verge.hsp
yopparai.hsp
zipfile_test1.hsp
zipfile_test2.hsp

情報

バージョン3.6
作成日2013/12/09
著作者onitama
URLhttp://hsp.tv/
備考ver3.6標準命令
タイプ内蔵命令
グループプログラム制御命令
対応環境
  • Windows 版 HSP
  • コマンドライン版 HSP
  • HSPLet
hs ファイルhsphelp\i_prog.hs