Qiita 7 - キータぞ、来たぞ、キータだぞー (194レス)
Qiita 7 - キータぞ、来たぞ、キータだぞー http://mevius.5ch.net/test/read.cgi/tech/1757733847/
上
下
前次
1-
新
通常表示
512バイト分割
レス栞
抽出解除
必死チェッカー(本家)
(べ)
自ID
レス栞
あぼーん
103: デフォルトの名無しさん [] 2025/09/27(土) 20:36:16.39 ID:jktxSQ82 >>77 半開区間で書く方が便利な場合があることを誰も否定してはいないだろう。一方、閉区間で 書く方が便利な場合もある。例えば1からnまでの自然数を表示したいときがそうだが、 半開区間しかないPythonではfor i in range(1, n + 1): print(i)なんてひねくれた書き方を 強要されるし効率も悪い(Pythonで効率を云々しても意味ないが)。だから、半開区間と 閉区間の両方の記法を提供するのが良い。 半開区間を表すのに左右対称な..を使うのは紛らわしいので不適切。Pascalなどで..で閉区間を 表す慣用が定着していたにもかかわらず、..で半開区間を表す愚行を最初にやらかしたのはDか。 その前車の轍をC#, Go, Rustが踏んでしまった。特に.NET兄弟のF#とPowerShellが..を閉区間で 既に使っていたのにC#が半開区間を表すのに..を導入してしまったのは大きな誤りだった。 Dはほぼ死語と化したから、..で半開区間を表す不適切な記法も消え去るべきだな。 http://mevius.5ch.net/test/read.cgi/tech/1757733847/103
108: デフォルトの名無しさん [] 2025/09/27(土) 21:17:11.52 ID:jktxSQ82 >>105 数学での表記も閉区間と開区間の記号は左右対称で、半開区間は左右非対称。 閉区間[a, b] 開区間(a, b) 左半開区間(a, b] 右半開区間[a, b) ..は閉区間にしか見えない。右半開区間は..<か..~にすべきなのにたった1文字をケチって バグを呼び込むのは愚行としか言いようがない。 >>106 for i in range(1, n + 1): print(i)がプログラミングに適しているとでも? http://mevius.5ch.net/test/read.cgi/tech/1757733847/108
110: デフォルトの名無しさん [] 2025/09/27(土) 21:50:13.15 ID:jktxSQ82 >>109 そんなものがわかりやすいわけないだろ。2からnまでの自然数を表示したい場合にはn - 1個だから 右端はn - 1 + 2 = n + 1でrange(2, n + 1)なんていちいち計算するのかw mからn個ならC#のEnuemerable.Rangeが分かりやすい。 0からn個がEnuemerable.Range(0, n) 1からn個がEnuemerable.Range(1, n) 2からn個がEnuemerable.Range(2, n) 理解していなくて間違えるのではなく、理解しているが左右対称の見た目につられてうっかり間違えやすい。 それなのにわずか1文字をケチるのは愚行。 http://mevius.5ch.net/test/read.cgi/tech/1757733847/110
112: デフォルトの名無しさん [] 2025/09/27(土) 22:08:37.36 ID:jktxSQ82 >>111 意味がある記号を書くのを冗長とは言わない。消すのを愚行という。Pythonが意味がある{}を消したのも愚行。 そんなに文字数を減らしたいなら半開区間の記号を.~にしたらどうか。 http://mevius.5ch.net/test/read.cgi/tech/1757733847/112
メモ帳
(0/65535文字)
上
下
前次
1-
新
書
関
写
板
覧
索
設
栞
歴
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.862s*