前スレ
オブジェクト指向はオワコン?
https://mevius.5ch.io/test/read.cgi/tech/1721393540/
オブジェクト指向はオワコン? part2
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん
2026/08/13(木) 14:38:03.02ID:pdAcKRXu474デフォルトの名無しさん
2026/08/22(土) 10:47:15.32ID:06Fuc+wc 「記述」できまいw ニヤニヤ
475デフォルトの名無しさん
2026/08/22(土) 10:50:20.53ID:06Fuc+wc >>473 にとって上下水道と同じように当たり前のものになったオブジェクト指向
オブジェクト指向はオワコン?
https://mevius.5ch.io/test/read.cgi/tech/1721393540/753
オブジェクト指向はオワコン?
https://mevius.5ch.io/test/read.cgi/tech/1721393540/753
476デフォルトの名無しさん
2026/08/22(土) 10:52:30.90ID:SeTr1MjI >>465
めっちゃ詭弁だね
代替案がない問題があるとして
その問題に対する既存の解決策はオワコンなのか?
オブジェクト指向がオワコンかどうかを判断する基準として
君は何が重要だと考えてるのかすら提示できないのなら
ただ議論から尻尾巻いて逃げてるだけだよ
めっちゃ詭弁だね
代替案がない問題があるとして
その問題に対する既存の解決策はオワコンなのか?
オブジェクト指向がオワコンかどうかを判断する基準として
君は何が重要だと考えてるのかすら提示できないのなら
ただ議論から尻尾巻いて逃げてるだけだよ
477デフォルトの名無しさん
2026/08/22(土) 10:57:05.02ID:06Fuc+wc >>476
代替案のない問題だとしてもオワコン化は決定できないだろ
誰がそんなこと書いた。ミスリーディングのいい加減にしろ
代替案がないからといって問題では無いということが、問題を正当化する根拠にはならんと書いているのだよ
もう少し理にかなった物の考え方してくれないといくら5chでも
話あいてしててげんなりするぞ
代替案のない問題だとしてもオワコン化は決定できないだろ
誰がそんなこと書いた。ミスリーディングのいい加減にしろ
代替案がないからといって問題では無いということが、問題を正当化する根拠にはならんと書いているのだよ
もう少し理にかなった物の考え方してくれないといくら5chでも
話あいてしててげんなりするぞ
478デフォルトの名無しさん
2026/08/22(土) 11:00:08.79ID:06Fuc+wc モジュラリティ―の方法は様々にあるわけだし
オブジェクト指向に害があって最近はどう回避されるつあるか上で散々論じられている
それに対しオワコンでないというならその根拠を客観的にしめさないと
個人的このみの問題で終わるのは自明だ
オブジェクト指向に害があって最近はどう回避されるつあるか上で散々論じられている
それに対しオワコンでないというならその根拠を客観的にしめさないと
個人的このみの問題で終わるのは自明だ
479デフォルトの名無しさん
2026/08/22(土) 11:02:01.72ID:06Fuc+wc で、プログラミング言語でなくてもいいから
オブジェクト指向でFizzBuzzを「記述」してみてみ
FizzBuzzが分からないというならもっと簡単なものでもいい
オブジェクト指向でFizzBuzzを「記述」してみてみ
FizzBuzzが分からないというならもっと簡単なものでもいい
480デフォルトの名無しさん
2026/08/22(土) 11:03:52.44ID:06Fuc+wc 「記述」できまいw ニヤニヤ
それが根拠だよ
それが根拠だよ
481デフォルトの名無しさん
2026/08/22(土) 11:04:51.40ID:qikEO/T7 確かにカプセル化とか継承とか付随した概念は否定されつつあるが
機能別にまとめたり同じ概念で扱うって考えは新しい言語にも引き継がれてるからなぁ
機能別にまとめたり同じ概念で扱うって考えは新しい言語にも引き継がれてるからなぁ
482デフォルトの名無しさん
2026/08/22(土) 11:06:16.41ID:06Fuc+wc483デフォルトの名無しさん
2026/08/22(土) 11:08:09.39ID:qikEO/T7 >>479
そんな単一メソッドに収まるものをわざわざオブジェクト指向で書くって事自体がオブジェクト指向を分かって無いって言ってるんだがw
そんな単一メソッドに収まるものをわざわざオブジェクト指向で書くって事自体がオブジェクト指向を分かって無いって言ってるんだがw
484デフォルトの名無しさん
2026/08/22(土) 11:09:15.05ID:2u24m9Db OOPについてオワコンどうこう以前にOOPに厳密な定義を与えられた人間が人類史上いたか?
485デフォルトの名無しさん
2026/08/22(土) 11:09:53.57ID:06Fuc+wc 「記述」できまいw ニヤニヤ
まずClass作って、インスタンスメンバ変数作って、getter setter property アクセス修飾設定して
method 書いて、…くちゃくちゃ くちゃくちゃ
まずClass作って、インスタンスメンバ変数作って、getter setter property アクセス修飾設定して
method 書いて、…くちゃくちゃ くちゃくちゃ
486デフォルトの名無しさん
2026/08/22(土) 11:11:26.09ID:06Fuc+wc >>483
大規模だともっと作りにくいぞw
大規模だともっと作りにくいぞw
487デフォルトの名無しさん
2026/08/22(土) 11:12:17.55ID:06Fuc+wc なんで調べないかな>>484
488デフォルトの名無しさん
2026/08/22(土) 11:13:20.57ID:qikEO/T7489デフォルトの名無しさん
2026/08/22(土) 11:14:30.31ID:C0mupzSl コードはなくていいけど
どういう役割のオブジェクトを登場させるかくらい書けるやろ
どういう役割のオブジェクトを登場させるかくらい書けるやろ
490デフォルトの名無しさん
2026/08/22(土) 11:14:55.10ID:06Fuc+wc491デフォルトの名無しさん
2026/08/22(土) 11:16:13.14ID:06Fuc+wc >>489
分かったじゃあID:qikEO/T7がどういう役割のオブジェクトを登場させるかくらいについて書くのかを待つか
分かったじゃあID:qikEO/T7がどういう役割のオブジェクトを登場させるかくらいについて書くのかを待つか
492デフォルトの名無しさん
2026/08/22(土) 11:16:57.50ID:qikEO/T7 >>490
おまえはオブジェクト指向言語の話しかしてないからなぁw
おまえはオブジェクト指向言語の話しかしてないからなぁw
493デフォルトの名無しさん
2026/08/22(土) 11:17:59.05ID:06Fuc+wc でもかれはオブジェクト指向を表層的な感覚でしか受け止めていないようだから
書けないと思う ニヤニヤ
書けないと思う ニヤニヤ
494デフォルトの名無しさん
2026/08/22(土) 11:18:58.56ID:qikEO/T7 FizzBuzzなんて最小公倍数のループ組んで順番に出力するコード書いたら終わりだろ
495デフォルトの名無しさん
2026/08/22(土) 11:19:10.87ID:06Fuc+wc おれプログラミング言語の話した?>>492
496デフォルトの名無しさん
2026/08/22(土) 11:20:05.43ID:06Fuc+wc >>494
じゃあほかの題材でいいよw
じゃあほかの題材でいいよw
497デフォルトの名無しさん
2026/08/22(土) 11:21:05.68ID:06Fuc+wc つか、あやうくみおとしそうになったが最小公倍数かよw
498デフォルトの名無しさん
2026/08/22(土) 11:21:33.88ID:qikEO/T7 >>495
コード書いてる時点でもう言語の話になってるだろw
コード書いてる時点でもう言語の話になってるだろw
499デフォルトの名無しさん
2026/08/22(土) 11:22:51.40ID:06Fuc+wc500デフォルトの名無しさん
2026/08/22(土) 11:23:44.80ID:06Fuc+wc なんで最小公倍数よw
501デフォルトの名無しさん
2026/08/22(土) 11:24:25.96ID:MVi0Z0Uj502デフォルトの名無しさん
2026/08/22(土) 11:24:57.82ID:06Fuc+wc きょうもまた、つまらぬものを斬ってしまった…
503デフォルトの名無しさん
2026/08/22(土) 11:31:10.28ID:BHZjd0Jb 手続き型プログラムは、for i ループで
iを基本にして処理する
mod 3
mod 5 全部比較して結果を出す
オブジェクト指向なら for i ループ使っちゃだめだろ?
あくまでもオブジェクトであるFizz野郎とかBuzz野郎に丸投げして、必要なとこに出現しやがれ ってやんないと
全然ダメ、お前ら
iを基本にして処理する
mod 3
mod 5 全部比較して結果を出す
オブジェクト指向なら for i ループ使っちゃだめだろ?
あくまでもオブジェクトであるFizz野郎とかBuzz野郎に丸投げして、必要なとこに出現しやがれ ってやんないと
全然ダメ、お前ら
504デフォルトの名無しさん
2026/08/22(土) 11:37:53.48ID:qikEO/T7 inport math
n = 100
a, b = 3, 5
lcm = math.lcm(a, b)
pattern = []
for i in range(1, lcm):
s = ""
if i % a == 0:
s += "Fizz"
if i % b == 0:
s += "Buzz"
pattern.append(s if s elese str(i))
for i in range(1, n + 1):
print(pattern[(i - 1] % lcm])
n = 100
a, b = 3, 5
lcm = math.lcm(a, b)
pattern = []
for i in range(1, lcm):
s = ""
if i % a == 0:
s += "Fizz"
if i % b == 0:
s += "Buzz"
pattern.append(s if s elese str(i))
for i in range(1, n + 1):
print(pattern[(i - 1] % lcm])
505デフォルトの名無しさん
2026/08/22(土) 11:39:55.42ID:qikEO/T7 オブジェクト指向にしなくていい場所までオブジェクト指向にする意味がわからない
506デフォルトの名無しさん
2026/08/22(土) 11:40:59.88ID:qikEO/T7 FizzやBuzzはルールから導き出される結果であって、オブジェクトじゃ無いだろw
507デフォルトの名無しさん
2026/08/22(土) 11:41:33.22ID:06Fuc+wc >>505
じゃあ、どういう場所をオブジェクト指向にするの?
じゃあ、どういう場所をオブジェクト指向にするの?
508デフォルトの名無しさん
2026/08/22(土) 11:43:41.36ID:qikEO/T7 1から順に数えるのにループ書かないでとか訳分からない事言ってないでさ
w
w
509デフォルトの名無しさん
2026/08/22(土) 11:45:23.66ID:06Fuc+wc 「意味がわからない」という言い方を最近しばしば聞くが
「意味がわからない」≒「理解できない」≒「読解力が足りない」≒「頭が良くない」
という意味にも受け止められるので使わない用が良いと思う
実際にそうならば別に構わんが
「意味がわからない」≒「理解できない」≒「読解力が足りない」≒「頭が良くない」
という意味にも受け止められるので使わない用が良いと思う
実際にそうならば別に構わんが
510デフォルトの名無しさん
2026/08/22(土) 11:46:54.11ID:06Fuc+wc ループ書かないでって、どのレス?
511デフォルトの名無しさん
2026/08/22(土) 11:47:22.94ID:qikEO/T7 >>510
503
503
512デフォルトの名無しさん
2026/08/22(土) 11:48:49.45ID:qikEO/T7513デフォルトの名無しさん
2026/08/22(土) 11:49:36.92ID:06Fuc+wc514デフォルトの名無しさん
2026/08/22(土) 11:50:23.63ID:06Fuc+wc せっかくの土曜の朝っぱらから気分悪くさせてざまーみろw
515デフォルトの名無しさん
2026/08/22(土) 11:51:57.22ID:MVi0Z0Uj >>503
>>503
オブジェクト指向でforループ使っちゃダメって話は聞いたことがない、staticメソッドも使えるよ
ドメイン駆動設計でFizzBuzzをガチで設計してオブジェクト指向でプログラム書いてみせようか
FizzBuzzにはいろんな概念がある
・プレイヤー・手番・発話・間違い・ルール・数・変換
そのうちこれがないとプログラム書けないという必要最小限のものを抜き出す
・数と文字列の変換規則
これをFizzBuzz変換と呼ぶことにする
FizzBuzz変換
・数字が3で割れる→Fizz
・数字が5で割れる→Buzz
・数字が3でも割れるし5でも割れる→FizzBuzz
FizzBuzz変換がFizzBuzzの概念モデル
>>503
オブジェクト指向でforループ使っちゃダメって話は聞いたことがない、staticメソッドも使えるよ
ドメイン駆動設計でFizzBuzzをガチで設計してオブジェクト指向でプログラム書いてみせようか
FizzBuzzにはいろんな概念がある
・プレイヤー・手番・発話・間違い・ルール・数・変換
そのうちこれがないとプログラム書けないという必要最小限のものを抜き出す
・数と文字列の変換規則
これをFizzBuzz変換と呼ぶことにする
FizzBuzz変換
・数字が3で割れる→Fizz
・数字が5で割れる→Buzz
・数字が3でも割れるし5でも割れる→FizzBuzz
FizzBuzz変換がFizzBuzzの概念モデル
516デフォルトの名無しさん
2026/08/22(土) 11:52:07.76ID:C0mupzSl 唯一の正解があるわけではないし
>>503みたいにFizzさんBuzzさんに数字投げるか叩いたら適宜叫ぶってのはありよね
コンストラクタに数字と叫び声を渡すとしたら
Pop, Jazz, Rockさんもすんなり登場できる
>>503みたいにFizzさんBuzzさんに数字投げるか叩いたら適宜叫ぶってのはありよね
コンストラクタに数字と叫び声を渡すとしたら
Pop, Jazz, Rockさんもすんなり登場できる
517デフォルトの名無しさん
2026/08/22(土) 11:52:08.31ID:06Fuc+wc まあ ID:qikEO/T7 のいうオブジェクト指向なんて初歩的な蘊蓄・ノウハウレベルの
中身かっらぽなものなんだよ
もっと勉強して成長しなさい
中身かっらぽなものなんだよ
もっと勉強して成長しなさい
518デフォルトの名無しさん
2026/08/22(土) 11:52:29.94ID:MVi0Z0Uj >>503
これをプログラムコードに落とす
static String fizzBuzz(int n) {
var s = "";
s += n % 3 == 0 ? "Fizz" : "";
s += n % 5 == 0 ? "Buzz" : "";
if (s.isEmpty()) {
return "" + n;
} else {
return s;
}
}
これがFizzBuzzのドメインモデル
以上がドメイン駆動設計でFizzBuzzを設計してオブジェクト指向で実装するまで
ご清聴ありがとうございました
これをプログラムコードに落とす
static String fizzBuzz(int n) {
var s = "";
s += n % 3 == 0 ? "Fizz" : "";
s += n % 5 == 0 ? "Buzz" : "";
if (s.isEmpty()) {
return "" + n;
} else {
return s;
}
}
これがFizzBuzzのドメインモデル
以上がドメイン駆動設計でFizzBuzzを設計してオブジェクト指向で実装するまで
ご清聴ありがとうございました
519デフォルトの名無しさん
2026/08/22(土) 11:53:29.49ID:06Fuc+wc >>518
またお前かw
またお前かw
520デフォルトの名無しさん
2026/08/22(土) 11:54:50.22ID:MVi0Z0Uj >>519
あ、その節はどうも、お世話になってます
あ、その節はどうも、お世話になってます
521デフォルトの名無しさん
2026/08/22(土) 11:54:58.97ID:qikEO/T7 それだけじゃFizzBuzzにならんだろw
522デフォルトの名無しさん
2026/08/22(土) 11:56:46.35ID:06Fuc+wc さー突っ込みが入りました
おれは縦読みで見落としたか
おれは縦読みで見落としたか
523デフォルトの名無しさん
2026/08/22(土) 11:58:04.52ID:06Fuc+wc524デフォルトの名無しさん
2026/08/22(土) 12:00:01.05ID:qikEO/T7 import math
class FizzBuzzRule:
def __init__(self, divisor, word):
self.divisor = divisor
self.word = word
def apply(self, n):
return self.word if n % self.divisor == 0 else ""
def fizzbuzz_generic(n, rules):
lcm = 1
for r in rules:
lcm = math.lcm(lcm, r.divisor)
pattern = []
for i in range(1, lcm + 1):
s = "".join(r.apply(i) for r in rules)
pattern.append(s if s else str(i))
for i in range(1, n + 1):
print(pattern[(i - 1) % lcm])
rules = [
FizzBuzzRule(3, "Fizz"),
FizzBuzzRule(5, "Buzz"),
]
fizzbuzz_generic(100, rules)
class FizzBuzzRule:
def __init__(self, divisor, word):
self.divisor = divisor
self.word = word
def apply(self, n):
return self.word if n % self.divisor == 0 else ""
def fizzbuzz_generic(n, rules):
lcm = 1
for r in rules:
lcm = math.lcm(lcm, r.divisor)
pattern = []
for i in range(1, lcm + 1):
s = "".join(r.apply(i) for r in rules)
pattern.append(s if s else str(i))
for i in range(1, n + 1):
print(pattern[(i - 1) % lcm])
rules = [
FizzBuzzRule(3, "Fizz"),
FizzBuzzRule(5, "Buzz"),
]
fizzbuzz_generic(100, rules)
525デフォルトの名無しさん
2026/08/22(土) 12:06:01.34ID:06Fuc+wc >>524
ほう、Pythonを書けるんだ、少しだけ見直したぞ。
だが本当にそういう機能分割がいいのかな。小さいプログラムだから薬にも毒にもならないだろうが
結局オブジェクト指向の害の芽はこのコードにもすでに紛れ込んでいるような…
それはさておきPyhonのClass base オブジェクト指向の仕組みは何度見てもあか抜けないな。
ほう、Pythonを書けるんだ、少しだけ見直したぞ。
だが本当にそういう機能分割がいいのかな。小さいプログラムだから薬にも毒にもならないだろうが
結局オブジェクト指向の害の芽はこのコードにもすでに紛れ込んでいるような…
それはさておきPyhonのClass base オブジェクト指向の仕組みは何度見てもあか抜けないな。
526デフォルトの名無しさん
2026/08/22(土) 12:07:43.40ID:06Fuc+wc PyhonでClass baseオブジェクト指向ってあまりやらなくてもいい希ガス
527デフォルトの名無しさん
2026/08/22(土) 12:13:43.20ID:T7yt1axc528デフォルトの名無しさん
2026/08/22(土) 12:13:44.12ID:qikEO/T7 いや、Copilotに方針教えただけだw
529デフォルトの名無しさん
2026/08/22(土) 12:15:15.56ID:qikEO/T7 もうメソッド単位の中身なんてどうでもいいんだよって主張の意味がわかったかな?
530デフォルトの名無しさん
2026/08/22(土) 12:18:42.02ID:06Fuc+wc >>528
なんだよ。
ひで―設計だと思ったけどカワイソウだから言うのがまんしてたけど
これが彼の言う「機能別にまとめたり同じ概念で扱う」かと
それすら自分で書けなかったかw
このPythonコードの何がまずいかワカル?
なんだよ。
ひで―設計だと思ったけどカワイソウだから言うのがまんしてたけど
これが彼の言う「機能別にまとめたり同じ概念で扱う」かと
それすら自分で書けなかったかw
このPythonコードの何がまずいかワカル?
531デフォルトの名無しさん
2026/08/22(土) 12:19:44.28ID:06Fuc+wc >>529
何で急にそんな変な主張をいきなりし始めるんだw
何で急にそんな変な主張をいきなりし始めるんだw
532デフォルトの名無しさん
2026/08/22(土) 12:21:55.64ID:T7yt1axc >>450
>>320ではなくて、
https://paiza.io/projects/OHbT6kBvhYGdSm036ZGHCg
を参照してほしい。
generator部、と変換部と出力部にわけて、オブジェクト指向で、
UnitTestしやすく分割してある。
3つの部分をドットでバインドしている。
Streamにより速さは確保できないが、フロー型の次世代GPUを想定。
ワンクラスにすることで、チップ化も想定。
考え中の「場のオブジェクト指向」によって量子コンピュータでの実行も実験中。
すべてのメソッドが1行の「式」である、というところがミソ。
>>320ではなくて、
https://paiza.io/projects/OHbT6kBvhYGdSm036ZGHCg
を参照してほしい。
generator部、と変換部と出力部にわけて、オブジェクト指向で、
UnitTestしやすく分割してある。
3つの部分をドットでバインドしている。
Streamにより速さは確保できないが、フロー型の次世代GPUを想定。
ワンクラスにすることで、チップ化も想定。
考え中の「場のオブジェクト指向」によって量子コンピュータでの実行も実験中。
すべてのメソッドが1行の「式」である、というところがミソ。
533デフォルトの名無しさん
2026/08/22(土) 12:23:20.27ID:06Fuc+wc >>532
正直者ではないおれにはmainしか見えないんだが
正直者ではないおれにはmainしか見えないんだが
534デフォルトの名無しさん
2026/08/22(土) 12:23:54.55ID:06Fuc+wc >>533
すまんタブがあった
すまんタブがあった
535デフォルトの名無しさん
2026/08/22(土) 12:29:55.45ID:qikEO/T7 で、なんで実装方法を競うだけの例題にしたの?
だからオブジェクト指向言語の話にしかとれないんだってずっと言ってるし
そんな些末な話題はAIにやらせてもっと本質的な話しなよw
だからオブジェクト指向言語の話にしかとれないんだってずっと言ってるし
そんな些末な話題はAIにやらせてもっと本質的な話しなよw
536デフォルトの名無しさん
2026/08/22(土) 12:32:39.25ID:06Fuc+wc537デフォルトの名無しさん
2026/08/22(土) 12:35:51.21ID:qikEO/T7 ルール拡張も出来るし何が不満なのさw
同じルール概念をまとめてるじゃんw
同じルール概念をまとめてるじゃんw
538デフォルトの名無しさん
2026/08/22(土) 12:36:59.34ID:qikEO/T7 こんな事に時間を割いても無駄だよw
まあ、暇だから付き合ってやるけどね
まあ、暇だから付き合ってやるけどね
539デフォルトの名無しさん
2026/08/22(土) 12:37:26.28ID:06Fuc+wc540デフォルトの名無しさん
2026/08/22(土) 12:38:08.82ID:qikEO/T7 >>539
おまえが言ったんだろw
おまえが言ったんだろw
541デフォルトの名無しさん
2026/08/22(土) 12:38:49.37ID:qikEO/T7 頭硬いか自分以外認めない奴かどっちだろうねw
542デフォルトの名無しさん
2026/08/22(土) 12:40:26.86ID:06Fuc+wc >>538
俺は忙しいんだよ他のことしながら一瞬の空き時間でレスかいてんだけれどさ
時間があるなら「機能別にまとめたり同じ概念で扱う」といとかおためごかし言ったり
糞コード生成させたりしてないで有意義にすごせよ
俺は忙しいんだよ他のことしながら一瞬の空き時間でレスかいてんだけれどさ
時間があるなら「機能別にまとめたり同じ概念で扱う」といとかおためごかし言ったり
糞コード生成させたりしてないで有意義にすごせよ
543デフォルトの名無しさん
2026/08/22(土) 12:41:49.20ID:qikEO/T7 FuzzBuzzなんて同じパターンを繰り返し出力するだけのループ処理なのに
どうやってそこにプログラム言語としてのオブジェクト指向以外でオブジェクト指向を盛り込ませるってんだかw
どうやってそこにプログラム言語としてのオブジェクト指向以外でオブジェクト指向を盛り込ませるってんだかw
544デフォルトの名無しさん
2026/08/22(土) 12:42:25.76ID:06Fuc+wc545デフォルトの名無しさん
2026/08/22(土) 12:42:53.84ID:06Fuc+wc546デフォルトの名無しさん
2026/08/22(土) 12:51:27.33ID:T7yt1axc プログラムはクライスリトリプルなんだから、
圏論解析によってクライスリトリプル化して設計する。
圏論なんだからオブジェクトと射になるので、(圏論的)オブジェクト指向設計になる。
実装やオブジェクト指向言語はまた別の話。
(ただし圏論解析は、まだスタンダードなものができていない)
圏論解析によってクライスリトリプル化して設計する。
圏論なんだからオブジェクトと射になるので、(圏論的)オブジェクト指向設計になる。
実装やオブジェクト指向言語はまた別の話。
(ただし圏論解析は、まだスタンダードなものができていない)
547デフォルトの名無しさん
2026/08/22(土) 12:53:46.61ID:MVi0Z0Uj >>527
> 複数の倍数を含むときの仕様がない
複数の倍数を含むときはその組み合わせで文字列を作成してください
例:
21 → FizzPop
105 → FizzBuzzPop
15015 → FizzBuzzPopJazzRock
以上で仕様は伝えたよ
> 複数の倍数を含むときの仕様がない
複数の倍数を含むときはその組み合わせで文字列を作成してください
例:
21 → FizzPop
105 → FizzBuzzPop
15015 → FizzBuzzPopJazzRock
以上で仕様は伝えたよ
548デフォルトの名無しさん
2026/08/22(土) 12:54:25.03ID:qikEO/T7549デフォルトの名無しさん
2026/08/22(土) 12:56:17.28ID:qikEO/T7 で、何度も聞くけど、何をもってオワコンなの?
550デフォルトの名無しさん
2026/08/22(土) 12:58:48.69ID:06Fuc+wc551デフォルトの名無しさん
2026/08/22(土) 12:59:45.06ID:T7yt1axc >>547
仕様の確認です。元となる仕様も不備があり、そこがネックになっていました。
3 -> Fizz
5 -> Buzz
...
としたとき、両方の倍数のとき、単体の変換文字列を結合するのか、あるいはたまたま同じになるけど、
独立した文字列に変換するのでしょうか。
意図を明確にしてください。よろしくお願いいたします笑。
仕様の確認です。元となる仕様も不備があり、そこがネックになっていました。
3 -> Fizz
5 -> Buzz
...
としたとき、両方の倍数のとき、単体の変換文字列を結合するのか、あるいはたまたま同じになるけど、
独立した文字列に変換するのでしょうか。
意図を明確にしてください。よろしくお願いいたします笑。
552デフォルトの名無しさん
2026/08/22(土) 13:01:19.95ID:MVi0Z0Uj >>551
それはFizzBuzzのもとのルール通りです
それはFizzBuzzのもとのルール通りです
553デフォルトの名無しさん
2026/08/22(土) 13:01:51.28ID:qikEO/T7 >>550
ああ、偽OOPがたくさんあるからねw
ああ、偽OOPがたくさんあるからねw
554デフォルトの名無しさん
2026/08/22(土) 13:01:52.66ID:06Fuc+wc555デフォルトの名無しさん
2026/08/22(土) 13:02:18.87ID:T7yt1axc 15 -> 3の倍数の変換文字列と5の倍数の変換文字列を連結したもの or 独立した文字列
556デフォルトの名無しさん
2026/08/22(土) 13:02:27.40ID:06Fuc+wc >>553
その代表だよ君は
その代表だよ君は
557デフォルトの名無しさん
2026/08/22(土) 13:03:16.47ID:qikEO/T7558デフォルトの名無しさん
2026/08/22(土) 13:03:54.00ID:06Fuc+wc >>557
いらない。目が潰れる
いらない。目が潰れる
560デフォルトの名無しさん
2026/08/22(土) 13:06:07.62ID:MVi0Z0Uj561デフォルトの名無しさん
2026/08/22(土) 13:07:18.47ID:qikEO/T7 どうせ使い回しなんか大きな会社でしかやらないから
負の遺産とか言われてもなぁw
そんな話なら流行りのプログラミング言語自体が負の遺産の根源なんだし
おまえの主張は単なるプログラミング言語の問題でしか無いよ
負の遺産とか言われてもなぁw
そんな話なら流行りのプログラミング言語自体が負の遺産の根源なんだし
おまえの主張は単なるプログラミング言語の問題でしか無いよ
562デフォルトの名無しさん
2026/08/22(土) 13:09:38.03ID:06Fuc+wc 開き直って、日ごろ辛いこと・不満があるんだろうなと予想はつくが
何て言って慰めてあげたらいいか俺には思いつかないな
何て言って慰めてあげたらいいか俺には思いつかないな
563デフォルトの名無しさん
2026/08/22(土) 13:10:51.18ID:T7yt1axc >>559
元のあいまいな仕様から、実装例から得られる代表的な2つの仕様のどちらにも対応できるように
書いたため、若干冗長です。
まあ、いいでしょう。そこは同じ対処で進めます。
まあ、時間がとれて気分がよければ書いときますが、おそらく夜中に酔っぱらったまま書くでしょう笑。
元のあいまいな仕様から、実装例から得られる代表的な2つの仕様のどちらにも対応できるように
書いたため、若干冗長です。
まあ、いいでしょう。そこは同じ対処で進めます。
まあ、時間がとれて気分がよければ書いときますが、おそらく夜中に酔っぱらったまま書くでしょう笑。
564デフォルトの名無しさん
2026/08/22(土) 13:13:58.93ID:MVi0Z0Uj >>563
夜中までかかるん? 保守しやすいはずなのに?
夜中までかかるん? 保守しやすいはずなのに?
565デフォルトの名無しさん
2026/08/22(土) 13:14:44.51ID:MVi0Z0Uj あれれーおかしいぞおー(コナンくん
566デフォルトの名無しさん
2026/08/22(土) 13:17:16.66ID:qikEO/T7567デフォルトの名無しさん
2026/08/22(土) 15:18:04.75ID:Su1GpItk568デフォルトの名無しさん
2026/08/22(土) 15:50:22.89ID:qikEO/T7 ルール追加する毎に条件分岐増やすなんて愚の骨頂だろ
569デフォルトの名無しさん
2026/08/22(土) 17:09:47.31ID:Hal9xLIK スレの流れは読めてない
要点も掴んでない
脊髄反射でシコった
>>217 java
https://ideone.com/5mCU0H
素朴だけどこういうことが大事だと思ってる
ヘタに再利用性のないクラスを作っちゃうのは罪なのでメソッドひとつで表現
OOPらしさはObject,String,Integerのみで表現
表示しなさい? のお題に対してObjectを返してるのはそっちのほうが多少融通効いていいやろ? 程度の判断
>>346 java
https://ideone.com/SG4fxp
再利用性のないクラスつくっちゃった版
実行時にインスタンスに対してヘコヘコ指示出して調整していくのも
OOPらしさの一面ではあるかと?
組み合わせの数が増えてくる場合、こういうのの必要性も出てくると思う
でも本当はFizzBuzzクラスというより、もっと気の利いた抽象的な概念で出来ればよかったけど
一応熟考した結果「そんなもんは特にねえや」「FizzBuzzこそが今回の概念や」となり作成
要点も掴んでない
脊髄反射でシコった
>>217 java
https://ideone.com/5mCU0H
素朴だけどこういうことが大事だと思ってる
ヘタに再利用性のないクラスを作っちゃうのは罪なのでメソッドひとつで表現
OOPらしさはObject,String,Integerのみで表現
表示しなさい? のお題に対してObjectを返してるのはそっちのほうが多少融通効いていいやろ? 程度の判断
>>346 java
https://ideone.com/SG4fxp
再利用性のないクラスつくっちゃった版
実行時にインスタンスに対してヘコヘコ指示出して調整していくのも
OOPらしさの一面ではあるかと?
組み合わせの数が増えてくる場合、こういうのの必要性も出てくると思う
でも本当はFizzBuzzクラスというより、もっと気の利いた抽象的な概念で出来ればよかったけど
一応熟考した結果「そんなもんは特にねえや」「FizzBuzzこそが今回の概念や」となり作成
570デフォルトの名無しさん
2026/08/22(土) 18:01:23.56ID:NuWpGxo/ FizzやBuzzをオブジェクトにしろという要求と、
PopやJazzなど拡張に対応しろという要求があったので、
二つを満たしてオブジェクト指向で書けばいいんだよね?
// FizzやBuzzなどはこのMember型になり hello() で数値に反応して名前を応える
struct Member { number: usize, name: &'static str, }
impl Member {
fn new(number: usize, name: &'static str) -> Self {
Self { number, name, }
}
fn hello(&self, number: usize) -> Option<&'static str> {
(number % self.number == 0).then_some(self.name)
}
}
// 上述Memberたちのまとめ役がOrganizer型
struct Organizer { members: Vec<Member>, }
impl Organizer {
fn new(info: &[(usize, &'static str)]) -> Self {
Self { members: info.iter().map(|&(number, name)| Member::new(number, name)).collect(), }
}
fn number_to_string(&self, number: usize) -> String {
let hellos = self.members.iter().map(|member| member.hello(number)).collect::<Vec<_>>();
format!("{}", NumberToString { number, hellos: &hellos, })
}
}
PopやJazzなど拡張に対応しろという要求があったので、
二つを満たしてオブジェクト指向で書けばいいんだよね?
// FizzやBuzzなどはこのMember型になり hello() で数値に反応して名前を応える
struct Member { number: usize, name: &'static str, }
impl Member {
fn new(number: usize, name: &'static str) -> Self {
Self { number, name, }
}
fn hello(&self, number: usize) -> Option<&'static str> {
(number % self.number == 0).then_some(self.name)
}
}
// 上述Memberたちのまとめ役がOrganizer型
struct Organizer { members: Vec<Member>, }
impl Organizer {
fn new(info: &[(usize, &'static str)]) -> Self {
Self { members: info.iter().map(|&(number, name)| Member::new(number, name)).collect(), }
}
fn number_to_string(&self, number: usize) -> String {
let hellos = self.members.iter().map(|member| member.hello(number)).collect::<Vec<_>>();
format!("{}", NumberToString { number, hellos: &hellos, })
}
}
571デフォルトの名無しさん
2026/08/22(土) 18:04:19.73ID:NuWpGxo/ >>570
続き
// Organizerの下請けでhello()結果に基づき数値を文字列化を分離
struct NumberToString<'a> { number: usize, hellos: &'a [Option<&'static str>], }
impl std::fmt::Display for NumberToString<'_> {
fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
let mut is_done = false;
for hello in self.hellos.iter() {
if let Some(name) = hello {
write!(f, "{}", name)?;
is_done = true;
}
}
if !is_done {
write!(f, "{}", self.number)?;
}
Ok(())
}
}
// お好みの設定でOrganizerを作って数値の文字列化を依頼する
fn main() {
let organizer = Organizer::new(&[(3, "Fizz"), (5, "Buzz"), (7, "Pop"), (11, "Jazz"), (13, "Rock")]);
for number in 1.. {
println!("{}", organizer.number_to_string(number));
}
}
続き
// Organizerの下請けでhello()結果に基づき数値を文字列化を分離
struct NumberToString<'a> { number: usize, hellos: &'a [Option<&'static str>], }
impl std::fmt::Display for NumberToString<'_> {
fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
let mut is_done = false;
for hello in self.hellos.iter() {
if let Some(name) = hello {
write!(f, "{}", name)?;
is_done = true;
}
}
if !is_done {
write!(f, "{}", self.number)?;
}
Ok(())
}
}
// お好みの設定でOrganizerを作って数値の文字列化を依頼する
fn main() {
let organizer = Organizer::new(&[(3, "Fizz"), (5, "Buzz"), (7, "Pop"), (11, "Jazz"), (13, "Rock")]);
for number in 1.. {
println!("{}", organizer.number_to_string(number));
}
}
572デフォルトの名無しさん
2026/08/22(土) 18:09:45.50ID:fbloiAk8573デフォルトの名無しさん
2026/08/22(土) 18:15:38.70ID:NuWpGxo/■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 【沖縄】米兵を強盗殺人容疑で緊急逮捕 那覇市のホテルでの女性遺体発見で [ぐれ★]
- 【アジア大会】サッカー表彰式でトラブル 優勝の韓国の国旗掲揚されず 韓国の旗だけ下がったまま国歌 応援団ブーイング 選手は困惑★2 [冬月記者★]
- 米国産ジャガイモ解禁前倒し浮上 トランプ政権の圧力が背景 高市早苗首相に輸入解禁働きかけ [バイト歴50年★]
- 「経済力ないってみじめ」 セックスレスから一転、夫の誘い拒めぬ妻 [蚤の市★]
- サザンオールスターズ関口和之さんの会社に東京国税局が5億8000万円あまりの申告漏れを指摘 [少考さん★]
- 【フェラガモ】「13万円の高級ブランド靴」で記者会見に参加…自民・西村康稔氏に党内外から漂う“冷ややかな視線” [少考さん★]
- 【高市朗報】食品企業、何かを察して一斉に害虫🪱に強い品種のジャガイモ🥔を自主的に採用する動きが加速してしまう [709039863]
- トムクルーズ「死んだら遺産は全部孤児に寄付する。娘は散財しすぎで無理」 娘「毎週30万程度で!?」 [595118796]
- 【NHK速報】那覇の女性殺害事件、アメリカ海兵隊員を逮捕 強盗殺人の疑い [689155963]
- 【高市悲報】陸上自衛隊員、アジア大会で日本国旗より上に太極旗を掲げるのが悔しすぎてサボタージュ [165981677]
- 【高市エクストリーム悲報】愛知アジア大会サッカー決勝、優勝した韓国の国旗掲揚がされず 国旗掲揚担当は自衛隊員 [165981677]
- 無職転生ってやつがキモすぎて炎上してるけど