HSPポータル
サイトマップ お問い合わせ


HSPTV!掲示板


未解決 解決 停止 削除要請

2020
1001
竹本if elseのネストについて6未解決


竹本

リンク

2020/10/1(Thu) 18:43:24|NO.91511

if elseのネストについて

これは悪い例のようです。
(elseを使わず、ifを3回使うのを推奨してるみたいです)

しかたなく、下記のようにする場合ですが、
タブでの位置調整は、下記のようにするのが一般的なんでしょうか?

}やelseの位置はもう一段右にしなくていいのでしょうか?



n = 5 if n < 0{ mes "nは0未満です" } else{ if n > 0{ mes "nは0より大きいです" } else{ mes "nは0です" } } stop

https://wiki.hsp.moe/HspCmd%EF%BC%8Fif.html



この記事に返信する


GENKI

リンク

2020/10/1(Thu) 23:02:05|NO.91516

それが一般的と考えて大丈夫です。

> if n > 0{

> }
> else{

> }
が1セットの枠なので同じレベル(同じ段)に記述する。
「mes 〜」は枠の中身なのでインデント(タブ)を1段付け加える。
という解釈でいいと思います。



ちなみに関係ありませんが、私はこちらの派閥。

} else {



Velgail

リンク

2020/10/1(Thu) 23:13:51|NO.91517

私の場合はこう書きますね。else ifの書き方としてはHSPらしさあふれるユニークな構造に見えます。


n = 5 if n < 0{ mes "nは0未満です" } else:if n > 0{ mes "nは0より大きいです" } else{ mes "nは0です" } stop

そして、このレベルと内容であれば正直
>ifを3回使うのを推奨
するのも変な感じですね。そこでうっかり条件漏れとか条件重複するリスクのほうが怖い……(テストしろってことですが、あとの追加とテストの工数を考えても)



あらや

リンク

2020/10/3(Sat) 15:30:55|NO.91532

私は良く見るタイプの派閥

if(〜〜〜) { 〜〜〜 } else { 〜〜〜 }
ですが、書き方は人それぞれ好みがありますよね。

とことん一行にこだわる人もいれば

if(〜〜〜) {〜〜〜:〜〜〜} else{〜〜〜:〜〜〜}

カッコやスペースを嫌う人も居ますし

if〜〜〜:〜〜〜:else:〜〜〜

中にはタブを使わない方も……

if(〜〜〜){ 〜〜〜 } else{ 〜〜〜 }

GENKIさんのような派閥の方も多いですね

} else {

まあタブやスペース・改行は自分の好みだったり、
見やすいと思う書き方が一番なんじゃないでしょうか。

極論を言うと、エラーにならなければどんな書き方でも良いんですよね。



CantRunRiver

リンク

2020/10/3(Sat) 23:02:49|NO.91534

昔は主さんのような常識的(一般的)な書き方を求めてました。

でも結局は自分がよければいいってなっちゃいます。
モジュールとかも相手が使うだけなら汚くたっていいですし。
>極論を言うと、エラーにならなければどんな書き方でも良いんですよね。
「それな」です。本当にこれです。

(回答ではないと思いますが自分はこう書いているよってことで...)
自分の中では複数条件文だとコードが汚くなってしまうこと事が多いので、
無理やり switch 文にしてとにかく綺麗にします。

n = 5 switch ( 1/*TRUE*/ ) case ( n < 0 ) mes "nは0未満です" swbreak case ( n > 0 ) mes "nは0より大きいです" swbreak default mes "nは0です" swbreak swend stop

初心者のころはGENKIさんのやり方。
ちょっと成長して今度はVelgailさんの } else { 版のやつでした。
JavaScript(node.js)をやり始めていつの間にかswitch文に。

まあ一番見やすいやつを選べってやつですかね?
ちなみに私のはおすすめしません。



窓月らら

リンク

2020/10/4(Sun) 17:33:07|NO.91536

こんなのもあるよという一例。

n = 5 if n { if n>0 { mes "nは0より大きいです" } else { mes "nは0未満です" } } else { mes "nは0です" }



竹本

リンク

2020/10/5(Mon) 11:46:59|NO.91542

いろいろなレイアウトがあるんですね。

回答ありがとうございました。



ONION software Copyright 1997-2023(c) All rights reserved.