- 1 名前:デフォルトの名無しさん [2016/06/29(水) 04:39:09.19 ID:sT3gw8va.net]
- ■Visual Studio 2013 Community & Express(無償の統合開発環境)等はこちら
www.visualstudio.com/downloads/ ■コードを貼る場合はこちら ideone.com/ ■前スレ C#, C♯, C#相談室 Part88 [転載禁止]©2ch.net peace.2ch.net/test/read.cgi/tech/1437808445/ C#, C♯, C#相談室 Part89 peace.2ch.net/test/read.cgi/tech/1443271409/ C#, C♯, C#相談室 Part90 echo.2ch.net/test/read.cgi/tech/1455160063/ ■次スレは>>970が建てる事。 建てられない場合は他を指定する事。
- 267 名前:デフォルトの名無しさん mailto:sage [2016/08/09(火) 17:36:54.04 ID:PJVjRNSn.net]
- 大変申し訳無いです。自己解決致しました。
別に入れておりましたvisualstudioのプラグインによって タブがソートされておりました。 これが何かのキッカケでオンになってしまっていたようです。 大変お騒がせ致しました。 お返事頂けた方々ありがとうございました!
- 268 名前:デフォルトの名無しさん mailto:sage [2016/08/09(火) 19:14:43.91 ID:10xMu+CU.net]
- ネタフリ
textboxから数値
- 269 名前:取り出すのってどうしてる?
いまだにTryParseとかやってる? それだけのためにプロパティをバインディングしたりしてる? 一時期stringに拡張メソッドつけて数値とっていたけどそれすらめんどくなってきた めんどいもっと楽させてほしい [] - [ここ壊れてます]
- 270 名前:デフォルトの名無しさん mailto:sage [2016/08/09(火) 19:25:41.64 ID:mk3kxjVQ.net]
- VBでも使え
そして二度と帰ってくるな
- 271 名前:デフォルトの名無しさん mailto:sage [2016/08/09(火) 19:41:20.86 ID:/QPZwEhn.net]
- 数値しか入れないのにTextBox使わない
- 272 名前:デフォルトの名無しさん mailto:sage [2016/08/09(火) 19:54:32.32 ID:Ulr7R0RZ.net]
- >>258
Windows Formの話だと思うけど、TextBox継承して数値入力専用のを作ればいいよ。 実際やってみると以外と大変だけどねw こんなの本当は標準で用意して欲しいよね。
- 273 名前:デフォルトの名無しさん mailto:sage [2016/08/09(火) 19:57:01.35 ID:AJ2CLbue.net]
- >>259
VBじゃなくてVBScript勧めたほうがいいんじゃねw >>260 ごもっともw
- 274 名前:デフォルトの名無しさん mailto:sage [2016/08/09(火) 19:59:46.34 ID:2xtWtUt/.net]
- >>258
一文字入力されたら数字とBS以外スルーするようにしとけよ
- 275 名前:デフォルトの名無しさん mailto:sage [2016/08/09(火) 20:04:18.47 ID:JS0TrNVx.net]
- T使って継承すればよろし
- 276 名前:デフォルトの名無しさん mailto:sage [2016/08/09(火) 20:17:13.72 ID:h+7CEzP0.net]
- いい加減
数値⇔文字列 の変換をするキャストメソッド追加しろよ
- 277 名前:デフォルトの名無しさん mailto:sage [2016/08/09(火) 21:01:17.26 ID:mk3kxjVQ.net]
- >>264
お前ふらっとの方でも似たような書き込みしてるけど何も理解できていないな
- 278 名前:デフォルトの名無しさん mailto:sage [2016/08/09(火) 21:04:36.79 ID:10xMu+CU.net]
- 似たような感じでしょうもない変換メソッドとか毎回書かされるのはもうつまらん
c#はここから先に進まないのか?
- 279 名前:デフォルトの名無しさん mailto:sage [2016/08/09(火) 21:06:08.84 ID:h+7CEzP0.net]
- 変換メソッド自動生成はもうAIの領域だな
- 280 名前:デフォルトの名無しさん mailto:sage [2016/08/09(火) 21:53:33.39 ID:rTlnm3J6.net]
- 両端にスペース入りのカンマつき数字をコピペしてくる強者がいる
まずクリアするのがこれで 次が全角数字の人、その次が丸つき数字の人、その次が数字の途中か終りにマイナスを入れてくる人
- 281 名前:デフォルトの名無しさん mailto:sage [2016/08/09(火) 22:36:34.91 ID:Ulr7R0RZ.net]
- ペーストの処理は面倒だからコンテキストメニューを殺してペースト禁止するのが楽だねw
- 282 名前:デフォルトの名無しさん mailto:sage [2016/08/10(水) 10:54:02.06 ID:sZvpYadZ.net]
- そういえば**演算子と//演算子の追加予定ないの?
n乗とn乗根演算子欲しい
- 283 名前:デフォルトの名無しさん mailto:sage [2016/08/10(水) 11:01:59.51 ID:vUhFEZdN.net]
- >>271
//の方はコメントつけたソースが大変な事にw
- 284 名前:デフォルトの名無しさん mailto:sage [2016/08/10(水) 11:14:15.16 ID:sZvpYadZ.net]
- あっ…w
/*でもコメントだしな〜
- 285 名前:デフォルトの名無しさん mailto:sage [2016/08/10(水) 13:38:46.88 ID:yH6Tmb7K.net]
- そこに気付くとはやはり天才か(棒)
- 286 名前:デフォルトの名無しさん mailto:sage [2016/08/11(木) 18:47:30.48 ID:Lr/mSCyz.net]
- string s1 = "10 〜 20";
string s2 = "1-500"; string s3 = "-25 - -10"; string s4 = "0〜1"; のように、FROM + 半角スペース(ありorなし) + -または〜 + 半角スペース(ありorなし) + TO というような範囲の含まれている文字列があります。 (FROMとTOの数字はマイナスや小数点あり) FROMだけを取り出したいのですが、何かいい方法は無いでしょうか。 正規表現などを使うとできるんでしょうか?
- 287 名前:デフォルトの名無しさん mailto:sage [2016/08/11(木) 18:50:37.65 ID:PgxrnQsD.net]
- -?¥d+
- 288 名前:デフォルトの名無しさん mailto:sage [2016/08/11(木) 20:02:01.76 ID:gnwNFYm1.net]
- >>276
> 小数点あり -?¥d+(¥.¥d+)?
- 289 名前:デフォルトの名無しさん mailto:sage [2016/08/11(木) 20:59:51.07 ID:Lr/mSCyz.net]
- ありがとう!
やってみる!
- 290 名前:デフォルトの名無しさん [2016/08/15(月) 16:48:49.78 ID:C0q0R5N5.net]
- スレッド違いかもしれないですが教えてください。
Google Analitics でトラフィックを確認
- 291 名前:したところ
↓の様にIP+ポート番号でのアクセスがありました。 通常であれば、YahooやGoogleなどの検索エンジンからの流入だけになるハズが この様なアクセスがあり警戒しています。これは何か攻撃を受けているのでしょうか? 10.160.XXX.XXX:XXXXX [] - [ここ壊れてます]
- 292 名前:デフォルトの名無しさん mailto:sage [2016/08/15(月) 16:58:13.22 ID:zs1ooRaK.net]
- 帰れカス
- 293 名前:デフォルトの名無しさん [2016/08/15(月) 22:44:50.60 ID:C0q0R5N5.net]
- 279
です。誰か教えてください。 >>280 のキチガイはスルーで
- 294 名前:デフォルトの名無しさん mailto:sage [2016/08/15(月) 22:47:06.97 ID:9j969OGV.net]
- ふらっとの粘着がこっちに移動してきたか
- 295 名前:デフォルトの名無しさん mailto:sage [2016/08/15(月) 23:02:56.98 ID:ga2FZEJa.net]
- >>281
C#とGoogle Analiticsにどんな関連性があるの? さっさと帰れよ
- 296 名前:デフォルトの名無しさん [2016/08/15(月) 23:19:34.56 ID:C0q0R5N5.net]
- 279
関連スレッドがあれば教えてください そちらで質問します。
- 297 名前:デフォルトの名無しさん mailto:sage [2016/08/15(月) 23:46:15.43 ID:/I3SQKNS.net]
- >>284
死んでろ ここも次の次はワッチョイだな 次は既に立ってるから echo.2ch.net/test/read.cgi/tech/1467211515/
- 298 名前:デフォルトの名無しさん mailto:sage [2016/08/16(火) 13:51:24.11 ID:vfH4bKhl.net]
- new byte[1024*1024*1024]で1GBのメモリ確保は出来るのに300*300の画像を読み込み、Clone(300*300*4*2=720000byte=0.7MB弱)をするとメモリエラーが発生します
何故でしょうか
- 299 名前:デフォルトの名無しさん mailto:sage [2016/08/16(火) 14:50:00.40 ID:o15hK2EL.net]
- クイズですか?
- 300 名前:デフォルトの名無しさん mailto:sage [2016/08/16(火) 15:10:19.55 ID:qGC1dEkn.net]
- プログラムは思った通りではなく作られた通りに動くから
- 301 名前:デフォルトの名無しさん mailto:sage [2016/08/16(火) 17:06:36.47 ID:KuBIRE+Q.net]
- System.DrawingというかGDI+は困ったらすぐOutOfMemory返してくる
- 302 名前:デフォルトの名無しさん mailto:sage [2016/08/16(火) 18:11:02.75 ID:imMBMuem.net]
- >>286
そもそもコピーされるわけでもないCloneを使うなと >>289 そのせいで便利な機能あるのに変換とか下手に任せられないんだよな
- 303 名前:デフォルトの名無しさん mailto:sage [2016/08/18(木) 14:05:26.86 ID:e8NCsKv7.net]
- クイズワロタ
- 304 名前:デフォルトの名無しさん mailto:sage [2016/08/18(木) 14:19:15.35 ID:CKZSwyTz.net]
- indexオーバーフローみたいな感じのが原因みたいでした
何でオートオブメモリーが発生したのかは分かりませんが
- 305 名前:デフォルトの名無しさん mailto:sage [2016/08/18(木) 14:34:24.97 ID:tXC5KaDm.net]
- indexが悪かったからだろw
- 306 名前:デフォルトの名無しさん mailto:sage [2016/08/18(木) 14:41:42.86 ID:KZM7ssxd.net]
- indexエラーとout of memoryは状況が全然違うエラーだろ
どうせCloneの元を削除したとかその辺だろうな
- 307 名前:デフォルトの名無しさん mailto:sage [2016/08/18(木) 14:50:17.82 ID:CKZSwyTz.net]
- >>294
クローンで画像切り抜こうとしたら画像の範囲越えてた
- 308 名前:デフォルトの名無しさん mailto:sage [2016/08/18(木) 14:50:47.64 ID:CKZSwyTz.net]
- オートオブメモリーは行番号出ないからどこで発生したか分かりにくいし
- 309 名前:デフォルトの名無しさん mailto:sage [2016/08/18(木) 14:54:22.77 ID:MLAmiHPT.net]
- オートw
- 310 名前:デフォルトの名無しさん [2016/08/18(木) 14:56:31.03 ID:PpWXAaq4.net]
- このスレまじヤバ
- 311 名前:デフォルトの名無しさん mailto:sage [2016/08/18(木) 15:03:18.90 ID:CKZSwyTz.net]
- >>297
↑こいつ馬鹿すぎワロタwwwwwwwwwwwww
- 312 名前:デフォルトの名無しさん mailto:sage [2016/08/18(木) 15:16:29.46 ID:dOs+cdOj.net]
- 顔真っ赤だぞ
- 313 名前:デフォルトの名無しさん mailto:sage [2016/08/18(木) 15:34:56.78 ID:r1qD6HKD.net]
- >>296
OutOfMemoryでエラー位置示されないことは稀にあるけど出ないのが普通みたいなこと書かれても困る 最初の質問の要点も違っているし、次からは初心者スレへどうぞ
- 314 名前:デフォルトの名無しさん mailto:sage [2016/08/18(木) 16:32:11.96 ID:Qi6POpo5.net]
- オートレストランってまだあるのかなあ。
- 315 名前:デフォルトの名無しさん mailto:sage [2016/08/18(木) 16:46:38.64 ID:iO4p2OMA.net]
- エラー位置出すのにメモリ確保伴うから省くんじゃないの
何かのライブラリで OOM 例外だけ予め構築済みのまま使い回すの見て感心したおぼえがある
- 316 名前:デフォルトの名無しさん mailto:sage [2016/08/18(木) 17:55:49.08 ID:RNZU/l3x.net]
- オートオブメモリが流行っているのか
- 317 名前:デフォルトの名無しさん mailto:sage [2016/08/18(木) 18:32:39.29 ID:KC0cWNIH.net]
- たぶんエラーはオートオブメモリじゃなくてオートオブランゲなんだろうな
- 318 名前:デフォルトの名無しさん mailto:sage [2016/08/18(木) 18:54:33.61 ID:q9ZhHGDc.net]
- ふらっとがワッチョイ付いたからこっちに移住してきたのかな
- 319 名前:デフォルトの名無しさん mailto:sage [2016/08/18(木) 19:09:53.77 ID:VT/uRpp6.net]
- つ ttp://www.automemory.co.jp
- 320 名前:デフォルトの名無しさん mailto:sage [2016/08/18(木) 19:17:24.52 ID:sh92haT+.net]
- CTRL+ALT+E で例外設定出して、OutOfMemoryExceptionにチェック入れたら普通に止まるけど
それとは違うことなんだろうか?
- 321 名前:デフォルトの名無しさん mailto:sage [2016/08/18(木) 19:24:39.04 ID:zEQl8UVs.net]
- OutOfMemoryに限らずデバッガで該当する場所でなくエントリポイントが表示されたり
GDI+関連のエラーだと意図していない場所のRefresh()とかで止まることならある try-catchを入れとけばそこで表示されるから済む話だが
- 322 名前:デフォルトの名無しさん mailto:sage [2016/08/18(木) 19:33:28.84 ID:CKZSwyTz.net]
- >>306
そう 前はふらっとにいたけどワッチョイ付いたら他の板での書き込みバレるからこっち来た
- 323 名前:デフォルトの名無しさん mailto:sage [2016/08/18(木) 20:03:39.26 ID:oJeK6Bjx.net]
- cppでアウトオブメモリー処理のために汎用メモリーを取っておくシステムを見たことあるがそこまでやるべきなのか
- 324 名前:デフォルトの名無しさん mailto:sage [2016/08/25(木) 23:14:01.46 ID:HsD7PkbO.net]
- What’s New in C# 7.0
https://blogs.msdn.microsoft.com/dotnet/2016/08/24/whats-new-in-csharp-7-0/
- 325 名前:デフォルトの名無しさん mailto:sage [2016/08/25(木) 23:42:36.74 ID:MmwMpV4v.net]
- >>312
throw式以外は全部ボツだろうなこれ ジャストアイデアとしても酷すぎ
- 326 名前:デフォルトの名無しさん mailto:sage [2016/08/25(木) 23:57:25.92 ID:Pgok0gcb.net]
- >>313
タプルとパターンマッチング
- 327 名前:デフォルトの名無しさん mailto:sage [2016/08/26(金) 00:02:49.66 ID:TYI3AeP1.net]
- >>314
なんだよ。かまわんよ、存分にそれらについて語ってくれよ…
- 328 名前:デフォルトの名無しさん [2016/08/26(金) 00:04:14.57 ID:cD5Ga51Z.net]
- >>312
tupleとdeconstructionは欲しいな
- 329 名前:デフォルトの名無しさん mailto:sage [2016/08/26(金) 00:26:51.57 ID:qEbjB0B4.net]
- C#7.0はいい感じだね
早く業務で使いたい
- 330 名前:デフォルトの名無しさん mailto:sage [2016/08/26(金) 00:32:45.54 ID:zWe+Xnw2.net]
- パターンマッチはdeconstructionと組み合わせられないとほとんど意味ない、
というかOCPを破るだけで有害 やるなら最初からやらないとこんな中途半端なもの出したら コーディング規約で軒並み禁止されちゃうぞ
- 331 名前:デフォルトの名無しさん mailto:sage [2016/08/26(金) 00:39:32.65 ID:TYI3AeP1.net]
- プロパティ禁止とか最早ブラックあるあるネタだもんな…今更感はある
- 332 名前:デフォルトの名無しさん mailto:sage [2016/08/26(金) 00:48:13.71 ID:PgCAqldG.net]
- >>319
そもそもプロパティを知らないおっさんがいて驚いたわ
- 333 名前:デフォルトの名無しさん mailto:sage [2016/08/26(金) 01:01:05.00 ID:b/aYUiUZ.net]
- getX(),setX()書く人は、まれに良く紛れ込むね
- 334 名前:デフォルトの名無しさん mailto:sage [2016/08/26(金) 01:13:44.01 ID:ZXi/bCeq.net]
- .NET4.0とC#7の組み合わせって可能なのかなあ。
まだあと5年ぐらいはXPのPC無視できないよね。
- 335 名前:デフォルトの名無しさん mailto:sage [2016/08/26(金) 01:18:27.62 ID:PgCAqldG.net]
- >>322
4.0とかとっくにサポート切れやで
- 336 名前:デフォルトの名無しさん mailto:sage [2016/08/26(金) 01:27:27.85 ID:AjmVo6xU.net]
- >>321
それがうちのルールなう
- 337 名前:デフォルトの名無しさん mailto:sage [2016/08/26(金) 01:29:19.51 ID:MwmpSlTr.net]
- カワイソス
- 338 名前:デフォルトの名無しさん mailto:sage [2016/08/26(金) 01:35:14.31 ID:b/aYUiUZ.net]
- >>324
残念すぎる(
- 339 名前:LД`) []
- [ここ壊れてます]
- 340 名前:デフォルトの名無しさん mailto:sage [2016/08/26(金) 01:56:48.53 ID:iK8FV/yi.net]
- >>322
ウチはWindows2000(.NET 2.0)も無視できない場合がある。 設備制御用のスタンドアローン機だが。
- 341 名前:デフォルトの名無しさん mailto:sage [2016/08/26(金) 17:37:43.90 ID:MxDOiAHv.net]
- よくわからないけどパターンマッチングってどういう局面で必要?
いままでのコーディングが大幅に減るとかいい面を教えてほしい 今のところ見にくいなあと感じる
- 342 名前:デフォルトの名無しさん mailto:sage [2016/08/26(金) 18:46:17.17 ID:zWe+Xnw2.net]
- >>328
本格的なパターンマッチングならこんなことができる double GetArea(Shape shape) { switch (shape) { case Rectangle(x,y,w,h): return w * h; case Circle(x,y,r): return PI * r * r; } } さらに、変数にキャプチャするだけでなくxに具体的な値を指定すればxが特定の値の場合だけという条件指定も可能 今の貧弱な仕様だとお前の疑問の通りメリットはほとんどないのでまあ最終的には却下だろうな
- 343 名前:デフォルトの名無しさん mailto:sage [2016/08/26(金) 20:21:13.42 ID:6mUdfhCy.net]
- オブジェクト指向からswitch地獄に退化してないそれ?
関数型とかだとそれが普通なのかな
- 344 名前:デフォルトの名無しさん mailto:sage [2016/08/26(金) 21:28:47.03 ID:MxDOiAHv.net]
- 必要に応じて使わないと退化だな
- 345 名前:デフォルトの名無しさん mailto:sage [2016/08/26(金) 22:32:43.70 ID:zWe+Xnw2.net]
- 関数型はあくまで関数が主だからね
(本物の)パターンマッチは静的検査でパターンの網羅性を担保できるから、 やってることはインターフェースを実装してるのと同じようなもん
- 346 名前:デフォルトの名無しさん [2016/08/27(土) 00:18:55.08 ID:nVNQ8rj/.net]
- この場合は単純にGetAreaをabstract methodにして
各クラスでoverrideさせた方がよくないっすか?
- 347 名前:デフォルトの名無しさん mailto:sage [2016/08/27(土) 00:20:04.19 ID:1AQozIyW.net]
- if(x > y) (x, y) = (y, x);
- 348 名前:デフォルトの名無しさん mailto:sage [2016/08/27(土) 00:38:01.47 ID:gXVhUUHW.net]
- >>333
その方がいいと思う理由は? >>333にとって関数型よりオブジェクト指向の方が馴染みがあるからそう感じるだけじゃない? どっちがいいかじゃなくて考え方が違うんだよ
- 349 名前:デフォルトの名無しさん mailto:sage [2016/08/27(土) 00:57:01.73 ID:p93C1zWb.net]
- C#は関数型言語を目指すのか?
- 350 名前:デフォルトの名無しさん mailto:sage [2016/08/27(土) 00:58:08.99 ID:dfJ7JP1w.net]
- >>336
良いとこを取り入れようとしている
- 351 名前:デフォルトの名無しさん mailto:sage [2016/08/27(土) 01:26:03.53 ID:zYdR+KfD.net]
- マルチパラダイム言語なんだから、あるプログラミングパラダイムには大して効果的でない
(が、他のプログラミングパラダイムでは効果的な)機能が入ることもあるさ
- 352 名前:デフォルトの名無しさん mailto:sage [2016/08/27(土) 01:43:46.91 ID:p93C1zWb.net]
- まあたしかに今のC#はマルチパラダイムなんだろうけど
そもそもマルチパラダイムを意識して設計された言語なのだろうか 良いとこ取りしようって考え方はいいんだが マルチパラダイムで複数のスタイルに対応しようとか、言語の複雑さが増すだけだと思うんだがなぁ まあそのうち、オブジェクト指向でやりたい人はこれは不要(というか使うな)とかいう機能と 関数型でやりたい人はこの機能は使うなとかいう分類が出来ていくのだろうかね だったら初めから言語分けろよと思うわけなんだが
- 353 名前:デフォルトの名無しさん mailto:sage [2016/08/27(土) 08:01:26.33 ID:uwQm2EgT.net]
- このままではVB6になってしまう
- 354 名前:デフォルトの名無しさん mailto:sage [2016/08/27(土) 08:50:02.94 ID:ZCfqwLYC.net]
- >>330
switchで分岐して分かりやすいと思う
- 355 名前:デフォルトの名無しさん mailto:sage [2016/08/27(土) 08:50:57.27 ID:ZCfqwLYC.net]
- >>333
switchがいい
- 356 名前:デフォルトの名無しさん mailto:sage [2016/08/27(土) 08:59:36.29 ID:xPu9ULSF.net]
- パターンマッチングは大変な事になりそう
ようするに型を調べて分岐の糖衣構文でしょ バッドプラクティスの糖衣構文なんてよくないよ
- 357 名前:デフォルトの名無しさん [2016/08/27(土) 09:04:35.71 ID:SmFG8gRK.net]
- ク ク || プ //
ス ク ス | | │ // / ス | | ッ // ク ク ||. プ // / // ス ク ス _ | | │ // / ̄ ̄\ / ス ─ | | ッ // / _ノ .\ / // | ( >)(<) ___ . | ⌒(__人__) ./ ⌒ ⌒\ | ` Y⌒l / (>) (<)\ . | . 人__ ヽ / ::::::⌒(__人__)⌒ \ ヽ }| | | ` Y⌒ l__ | ヽ ノ、| | \ 人_ ヽ / . /^l / / ,─l ヽ \
- 358 名前:デフォルトの名無しさん mailto:sage [2016/08/27(土) 09:18:21.32 ID:xncZCRpk.net]
- ポリモフィズム過負荷で歪なクラスを量産するよりはよい
- 359 名前:デフォルトの名無しさん mailto:sage [2016/08/27(土) 09:56:58.93 ID:gXVhUUHW.net]
- 型で分岐するのがどうして問題かというと、
後で型を追加したときに分岐の箇所を自分で探して条件を追加しなきゃいけなくなるから。 ちゃんとした関数型だと、パターンマッチで分岐させるような型って type Shape = Rectangle(double x, double y, double w, double h) | Circle(double x, double y, double r); みたいな感じでクローズしておくんだよ。 これでShapeがとりうる全ての型をコンパイラが認識できるから、 Shapeに型を新たに追加したら>>329がコンパイルエラーになってくれる。 イメージ的には 列挙体 + タプル に近いかな。OO言語の超強力なクラスとは全然異なるもの。 このように、パターンマッチは根が深いからにわか言語が中途半端に導入するとおかしなことになる。
- 360 名前:デフォルトの名無しさん mailto:sage [2016/08/27(土) 10:14:58.12 ID:xncZCRpk.net]
- データベースやXMLで不定形データ受け取って
パースした後の分岐に使うくらいかな
- 361 名前:デフォルトの名無しさん mailto:sage [2016/08/27(土) 10:17:36.05 ID:xPu9ULSF.net]
- >>346
モジュールの配布面倒くさそう パターンをを追加したら参照元コード全部追記してねって全ユーザーに通知するの?
- 362 名前:デフォルトの名無しさん mailto:sage [2016/08/27(土) 12:08:15.98 ID:vp5ltHnS.net]
- >>346
しかしそれだと書く側にとってはOOPの方がいいが。 機能追加がクラス追加で対応できるとき、 OOP: 既存部分に一切手を入れる必要はない。 FP: 既存部分も書き直す必要がある。 普通はどう見ても退化だよ。 書き直す部分がSyntaxErrorで見つかるのは便利だけど、 OOPでもそのクラスの全メソッドを列挙するのは簡単なので、漏れる事もない。 OOPは実際の詳細なクラス毎の動作はその部分のコードからは読みとれない。 それがswitchの方がいいという人の意見なのだろうけど、 大概の場合は読みとれないのは低位記述のみであって、読みとる必要がないから問題ない。 >>329にしてもGetAreaメソッドの方がいいし、 本家の例にしてもExplainMyselfメソッドの方がいい。 本来はメソッドとしてくくれないswitch分岐に使えばいいのだろうけど、 本家にしてもそのいい例を探せなかったということじゃないか。 つまり要らない子。
- 363 名前:デフォルトの名無しさん mailto:sage [2016/08/27(土) 18:13:53.32 ID:gff3j1Ec.net]
- C#はjsのオブジェクトリテラルを導入すべきだ
C#の匿名型は書きにくいし見辛い
- 364 名前:デフォルトの名無しさん mailto:sage [2016/08/27(土) 19:31:49.76 ID:p93C1zWb.net]
- つまりパターンマッチはオブジェクト指向とはきわめて相性が悪いって事か
まあ、型チェックと代入が一発でできる機能だけなら便利に使える場面もあるだろうけど
- 365 名前:デフォルトの名無しさん mailto:sage [2016/08/27(土) 19:54:25.56 ID:0MFbcQeG.net]
- 相性が悪いんじゃなくて使い分けだと思う
上ででたShapeでは各クラスが面積を出すメソッドを持っててもべつにいいだろうけど GUI側で図形の表示に使うメソッドをShapeに持たせるのはおかしい その場合はどこか別
- 366 名前:で限定的にこのパターンマッチを使えばいいのではないか? []
- [ここ壊れてます]
- 367 名前:デフォルトの名無しさん mailto:sage [2016/08/27(土) 19:54:53.32 ID:vp5ltHnS.net]
- 相性が悪いわけではなく、用途がないんだと思う。
型ありOOPの場合は、型判定+分岐を仮想関数で対応するのが基本思想である為、 そもそもの例がswitch文で型判定の時点で要らない子でしかない。 もうちょっとマシな例はなかったのかよ、とも思うが。 つかどっちかというと、 パターンマッチングが活躍している言語のソースを眺めた方が良いのではないか? 誰か知ってたら教えてプリーズ。
|

|