Qiita 7 - キータぞ、来たぞ、キータだぞー (484レス)
上下前次1-新
抽出解除 レス栞
リロード規制です。10分ほどで解除するので、他のブラウザへ避難してください。
66(1): 09/22(月)23:00 ID:AxN4Bvca(1) AAS
>>59
..は左右対称なので閉区間にしか見えず、それで右半開区間を表すのはバグの元となりやすい。
右半開区間は左右非対称の..<で表すのが妥当で、Swiftはそうしている。Swiftは閉区間が...で
.が1個余分なのは良くないが。
閉区間を..で、右半開区間を..<で表せば、左半開区間を<..で、開区間を<..<で整合的に表せるし、
互いの見分けも容易だから合理的。もしC++が範囲演算子を導入するならこうしてもらいたい。
160: 09/28(日)21:12 ID:aU9wcwp7(4/11) AAS
>>124
Rubyは閉区間と半開区間の両方を提供したことと、閉区間に左右対称な..を採用したことでは
賢明だったが、半開区間に左右対称な...を採用したのは惜しい誤りだったな。..とも判別しづらいし。
..<か..~にすべきだった。
>>125
>>66にも書いたように、Swiftでは閉区間は...で左右対称、半開区間は..<で左右非対称だよ。
閉区間はPascalの..より.が1つ多い...だが、左右対称という点では共通する。
増分も指定できるように拡張することを見越すと、半開区間には..<より..~の方が適している。
開始値..増分..<終了値だと増分が負のとき変な感じがするが、開始値..増分..~終了値ならば
問題ないから。
もっともSwiftでは増分指定では記号を使わない。stride(from: 開始値, through: 終了値, by: 増分) の
ように省略不可の名前付き引数を書かせる。そして、名前付き引数だから順不同ということもなく、
この順でしか受け付けない。このようなガチガチの書式で固めたのもバグを防ぐための用心だろう。
Fortran, Juliaでは開始値:終了値:増分だがMATALAB, Octave, Scilabでは開始値:増分:終了値で
順序が異なるため、混同による書き間違えの恐れがあるから。
上下前次1-新書関写板覧索設栞歴
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ
ぬこの手 ぬこTOP 0.019s