Qiita 7 - キータぞ、来たぞ、キータだぞー (251レス)
Qiita 7 - キータぞ、来たぞ、キータだぞー http://mevius.5ch.net/test/read.cgi/tech/1757733847/
上
下
前次
1-
新
通常表示
512バイト分割
レス栞
抽出解除
レス栞
リロード規制
です。10分ほどで解除するので、
他のブラウザ
へ避難してください。
9: デフォルトの名無しさん [sage] 2025/09/14(日) 14:21:09.67 ID:ZqIkDajJ ・引数は配列を渡すのみ ・内容を逆にした配列を返し、引数で渡した配列の内容は書き換えない という条件にしたとして、繰り返しで書くより再帰のほうが良い書き方ができるだろうか? func ReverseArrayWithFor(arr []int) []int { n := len(arr) result := make([]int, n) for i := 0; i < n; i++ { result[i] = arr[n - i - 1] } return result } 「全ての点で再帰による表記が勝る」という人には再帰の素晴らしさをぜひ証明してほしいところだが口だけ番長だろうなあ。 http://mevius.5ch.net/test/read.cgi/tech/1757733847/9
19: デフォルトの名無しさん [sage] 2025/09/14(日) 21:05:23.33 ID:gAWV5uS0 いつも的外れな記事批判を繰り返している連投クンは本気でわからないようだな 元データを改変せずに新たに逆順を返す再帰関数を書きたいのならば例えばこうする func ReverseArray(input []int) []int { if len(input) == 0 { return nil } else { return append(ReverseArray(input[1:]), input[0]) } } http://mevius.5ch.net/test/read.cgi/tech/1757733847/19
64: デフォルトの名無しさん [sage] 2025/09/22(月) 11:19:37.59 ID:XiCaSJNI 記述や可読性の差が大きい start..endの個数 【Rust】 end-start個 【Pascal】 end-start+1個 startからn個 【Rust】 start..(start+n) 【Pascal】 start..(start+n-1) このように間違えやすく見にくい+1や-1が 半開区間を採用のRustでは不要となる http://mevius.5ch.net/test/read.cgi/tech/1757733847/64
166: デフォルトの名無しさん [] 2025/09/28(日) 22:05:51.43 ID:aU9wcwp7 >>164 正直に白状しろ。心当たりが全くなくはないはずだ。 C++ STLの.begin()と.end()の組の.end()を書くときにも、もやもやする感覚が常に伴うな。 『リーダブルコード』に、 プログラミングの命名規約では、包含/排他的範囲にbeginとendを使うことが多い。 でも、endは少しあいまいだ。例えば、「本の終盤(the end of the book)を読んでいる」の 「end」は包含的だ。残念ながら英語には「ちょうど最後の値を超えたところ」を意味する簡潔な 言葉がない。 と述べられている通り。簡潔な言葉がないなら作れば良かったと思う。例えば、endの次(next)だから nendとか。無闇に造語すべきではないが、どうしても必要なら作れば良い。bitは成功例だろう。 とは言え、複数の本を本棚に並べ右端の横にブックエンドを置いたとき、.end()は本そのものではなく ブックエンドだと考えれば、.end()はまあ納得できるから..ほど悪くはなく許容できる。 >>165 誤記予防という機能性を犠牲にしてたった1文字をケチる愚行。第一、閉区間より半開区間の方が頻繁に 使われるという主張も怪しい。作るプログラムによって異なるだろ。 http://mevius.5ch.net/test/read.cgi/tech/1757733847/166
171: デフォルトの名無しさん [] 2025/09/28(日) 22:15:00.74 ID:aU9wcwp7 >>167 低学歴ではないが、低学歴という煽りもここでは意味がないね。プログラム言語なんて小学生でも 分かる程度のものでしかないし、一般的感覚も自然言語と高校までの数学によって形成されるものだから。 そこから乖離した屁理屈をあれこれほざいても、ギークのキモい戯言でしかない。 http://mevius.5ch.net/test/read.cgi/tech/1757733847/171
179: デフォルトの名無しさん [sage] 2025/09/28(日) 22:38:40.96 ID:jJ7lr+aR 区間指定の文法を持つ最近のメジャーなプログラミング言語では半開区間を簡単に表記できるようになっている 例えば GoやPythonなどでは list[start:end] C#やRustなどでは list[start..end] いずれもendを含まない半開区間を意味している http://mevius.5ch.net/test/read.cgi/tech/1757733847/179
188: デフォルトの名無しさん [] 2025/09/28(日) 23:48:23.78 ID:aU9wcwp7 >>187 閉区間が自然だとは全く主張していないぞ。 ・閉区間で書くのが便利な場合も半開区間で書くのが便利な場合もあるので、両方の書き方を 提供するのが良い(勿論、前者の場合には閉区間が自然ということになるが) ・閉区間には左右対称、半開区間には左右非対称の記号を割り当てるのが自然で、バグを 生みにくい と主張しているだけ。 http://mevius.5ch.net/test/read.cgi/tech/1757733847/188
211: デフォルトの名無しさん [] 2025/10/01(水) 23:34:49.32 ID:a34LDfpM >>206 >それらの言語は半開区間に左右非対称の記号ではなく簡潔な記号を割り当てている理由を考えてみよう 教祖様がお作りになった教義だから。教祖様の好みが強く反映されているとしか言いようがない。 >閉区間ではなく半開区間をサポートするプログラミング言語が多い 事実ではなかろう。 ・閉区間しかない Ada, bash, Delphi, Elixir, F#, Fortran, Groovy, Haskell, Julia, MATLAB, OCaml, Octave, Pascal, Perl, PowerShell, R, S, Scilab, Wolfram (Wolfram以外は左右対称記号を使用、Wolframはほぼ左右対称の;;を使用) ・半開区間しかない C#, D, Go, Python (すべてが左右対称記号を使用) ・両方ある Kotlin, Nim, Raku, Ruby, Rust, Swift, Zig (これらのうち、 閉区間に左右対称記号を使用:Kotlin, Nim, Raku, Ruby, Swift, Zig 半開区間に左右対称記号を使用:Ruby, Rust, Zig) ※抜けている言語や記憶違いなどがあるかも知れないので、見つけたら指摘してもらいたい 以上を一覧すれば、半開区間しかない言語は少ないし、閉区間に左右対称記号を使う言語は多いし、 半開区間に左右対称記号を使う言語は少ない。要するに、一般的感覚に敢えて背く仕様の言語は 少ないことが看取される。 http://mevius.5ch.net/test/read.cgi/tech/1757733847/211
216: デフォルトの名無しさん [] 2025/10/01(水) 23:51:28.21 ID:a34LDfpM >>214 馬鹿には皮肉の解説が必要だったか。情報理論的な効率性を徹底的に追求したのが圧縮ファイルだろ。 それは人間には勿論読めないが、もう少し緩く追求した半開区間に..を使う表記も人間にはやっぱり 間違いやすい。お前がそんなことはないと言い張るなら、さぞかし凄い超人なんだろうねーという皮肉。 たった1文字追加するだけで効率性と間違えにくさのバランスが取れた表記になるのに、ムキになって 否定するのは愚か。 http://mevius.5ch.net/test/read.cgi/tech/1757733847/216
メモ帳
(0/65535文字)
上
下
前次
1-
新
書
関
写
板
覧
索
設
栞
歴
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.030s