16/10/02 15:36:24.07 FGg7v3h+.net
>>697
わからなくなってきたな
君は関数合成をカスタム演算子を使う方法ではなくf(g(x))と表記出来ると言っている
これは関数合成ではなくg(x)を評価した結果を引数にしてfを評価しているだけであって関数を合成する処理ではないよと返した
さらにその返しとして関数ポインタを使えば良いというよくわからない返事が来たのでレス番間違ってないか?って聞いたの
関数ポインタを使ってf(g(x))の表記でfとgを合成するにはどう書けば良いんだろうね
当然だけど|を使った表記より実装がシンプルになってバグがなくなるんだよね君のポリシーからすると
725:デフォルトの名無しさん
16/10/02 15:41:08.17 aAAtYBE2.net
>いちお、確認するか…仕様書は…ない
>ならソースみよか…(10秒ほど定義を眺める)…うん、さっきの解釈で良いみたいだね
ドキュメントがそろってない場合、実際にはオーバーロード関数の実体を見つけるだけでも
一苦労で、10秒どころじゃ済まなかったりするけどな。
初見のコードだと結局デバッガで追いかけるのが一番早かったということも。
726:デフォルトの名無しさん
16/10/02 15:46:00.43 aauDOAhV.net
>>700
> 関数ポインタを使ってf(g(x))の表記でfとgを合成するにはどう書けば良いんだろうね
それが>>595だろ。
> 関数合成の例だってまともに仕事してるcppプログラマならなんの苦もなくよめる(>>687)
流に言えば、まともに仕事してるCプログラマなら何の苦もなく読める。
> 当然だけど|を使った表記より実装がシンプルになってバグがなくなるんだよね
はい。
上記の通り、君の定義の「まともなCプログラマ」なら一瞬で読めるし、
少なくとも | を使っている時点で他の人と組み合わせたらバグを誘発するからアウトだよ。
727:デフォルトの名無しさん
16/10/02 15:51:44.43 FGg7v3h+.net
>>699
すまない
わかってるならいいんだ
君の書いた線形結合かつ再利用の機会の少ない場合に限定したレスを読んでこっちが勝手に一般的な話に拡大してしまっただけだから
線形結合だけできてもまあ確かにそんなに嬉しくはないよね
Boost.Lambdaみたいなライブラリの一部として組み込まれてるならともかくね
728:デフォルトの名無しさん
16/10/02 15:54:11.92 aauDOAhV.net
>>701
君と俺は反対ではないけども、補足をすると、俺が思うに、
「直感的に見たとおりの演算子/メソッドじゃないとオーバーロードしてはいけない。」
いちいち確認する必要があるのなら、そこにベタで書いてあった方がすぐに辿れていい。
729:デフォルトの名無しさん
16/10/02 15:57:16.07 wePFQlkp.net
捨て台詞吐くぐらいなら絡んでこなきゃいいのに...
730:デフォルトの名無しさん
16/10/02 15:57:23.23 FGg7v3h+.net
>>702
それ合成してないじゃん
関数f,gを合成して名前はなんでも良いけどhを作ろうって話してんの
731:デフォルトの名無しさん
16/10/02 16:10:13.27 aauDOAhV.net
>>703
いや先にIDを読み間違えたのはこちらの方だ。
これは俺が悪かった。
> Boost.Lambda
見てみたが、一覧表がないから使えるものかどうかはよく分からん。
ただ俺はこういうのを使うのは賛成、自前で用意するのは反対。理由は、
・バグがない。あったとしても向こうが勝手に直してくれる。
・「普通」の仕様になっているはず。オレオレ演算子アサインはない。
>>706
「まともなCプログラマ」ならそれも一瞬で書けるって事だよ。
ただし見た目は>>595的になる。それを「汚い」とするかはその人次第。
732:デフォルトの名無しさん
16/10/02 16:28:44.65 FGg7v3h+.net
>>707
すまない
関数ポインタの件がよくわからないのだけどサンプルコードはないだろうか
typedef int (*p_func_t)(int);
とあったときに
p_func_t f = ...;
p_func_t g = ...;
int x;
p_func_t h = f(g(x));
と表記してfとgを合成できるような方法があるってことだよね?
733:デフォルトの名無しさん
16/10/02 16:53:20.94 jkLbSgMw.net
俺は関数オブジェクトを使うのによい例を具体的なコードを示して挙げたつもりなわけだが
その例がクソだというなら同じ題材で「まともなCプログラマ」ならどう書くのか
プログラマらしく俺と同じようにideoneにでもコードをあげてほしいよね
いいかげんそうしないと利点欠点の議論ができない
そもそも彼の言っていることがプログラムで実現できるのかも分からないのが現状だしね
734:デフォルトの名無しさん
16/10/02 17:41:34.45 ROqN57Sm.net
レガシーな話は別の場所で。
735:デフォルトの名無しさん
16/10/02 18:37:00.85 4fupdPv1.net
そろそろc++スレへ
736:デフォルトの名無しさん
16/10/02 20:32:46.30 ruQ48W5a.net
>>682
ちいさな中空の○のことだろ
数学でよ~く使う奴
737:デフォルトの名無しさん
16/10/02 21:54:50.86 QFl4EKwL.net
f∘g
738:デフォルトの名無しさん
16/10/03 04:19:54.47 uOsaIQNY.net
何時もfまるgって読んでるけど正式な読み方は何なの?
739:デフォルトの名無しさん
16/10/03 06:05:41.66 70nww6OY.net
この手の話題に電話越し実験とかというのがあったと思う
自分の思っている事を電話越しに話すことを想定して、
相手に伝わらない記号や概念が思い当たったら使うなって話
740:デフォルトの名無しさん
16/10/03 07:58:56.85 K13Pj3xV.net
>>714
それで正しいみたい
URLリンク(izumi-math.jp)
URLリンク(www.comp.tmu.ac.jp)
741:デフォルトの名無しさん
16/10/04 10:32:58.48 7zrfyEQB.net
みんなUIフォントを何にしてる?
メイリオがいいよね?メイリオがいいよね?
742:デフォルトの名無しさん
16/10/04 10:34:40.02 reFXN9x4.net
理由がないかぎりデフォのまま
743:デフォルトの名無しさん
16/10/04 10:53:11.92 6+Zayg+b.net
ふらっととマルチとか他人に共感してもらわないと不安になる病気か
744:デフォルトの名無しさん
16/10/04 10:58:30.13 s22xkPru.net
901 名前:デフォルトの名無しさん (アウアウ Sa17-RPp1)[sage] 投稿日:2016/10/04(火) 10:32:30.59 ID:2uMugtE2a
みんなUIフォントを何にしてる?
メイリオがいいよね?メイリオがいいよね?
745:デフォルトの名無しさん
16/10/05 23:55:13.72 +0VoUMKr.net
C#勉強始めたんですが、初心者がだいたいつまづくポイントってどこだと思いますか?
746:デフォルトの名無しさん
16/10/06 00:04:15.38 7nh5q1fN.net
デリゲートかなあ
747:デフォルトの名無しさん
16/10/06 00:15:35.85 4kR5N43K.net
プログラミング経験ないなら参照型と値型で必ず絶望する
経験あるならデリゲートかな
748:デフォルトの名無しさん
16/10/06 00:32:29.25 zO3yIj3z.net
>>722-723
ありがとうございます
今まさにデリケートでハマってます。。
使い方?使いどころ?を共感できないとうやむやでしょうがないです
749:デフォルトの名無しさん
16/10/06 00:39:52.90 rwN2Tml/.net
デリゲートとかめったに使わないコールバックでしか使ったことがないな
代入かと思っていたら参照だったで面倒なことになった事はある
750:デフォルトの名無しさん
16/10/06 00:45:11.41 TGE1GIM6.net
今時は直接delegateで宣言するようなことはなくなったから
概念は知っておいて、ラムダ式と
Action<T>とかFunc<T>の実用例覚えとけばいいんじゃないですかね
751:デフォルトの名無しさん
16/10/06 00:49:47.22 4V0JRI8n.net
GDI+の機能にかなり頼っていていろいろハマったw
>>726
他の人のソースを参考にしようとしてネットで調べているとdelegateは割と見かける
そのときに解釈するのにハマるかもw
752:デフォルトの名無しさん
16/10/06 01:27:48.67 fMQ+lBRM.net
デリゲートとラムダを滅多に使わないって珍しいね
C#1.0とか2.0の現場なのかな
753:デフォルトの名無しさん
16/10/06 01:30:51.44 4V0JRI8n.net
>>728
いやラムダは普通に使うだろうけどdelegateはむしろ古いソースに多いと思うんだけど
そもそもラムダを滅多に使わないってどのレス?
754:デフォルトの名無しさん
16/10/06 01:34:30.42 NXx8nGJH.net
デリゲートもラムダもインタフェースも一切使わないでアプリ作ってる
参照型と値型はList<T>でハマった
あとDispose
755:デフォルトの名無しさん
16/10/06 02:31:28.02 tWbYPS8o.net
デリゲートで思い出したけど、Delegateを取るメソッドにラムダ式を渡す時、
Actionとか適当なデリゲートにキャストする必要があるけど、これ()が増えて読みづらいんだけど
もうちょっと簡潔に書く方法何かないかね
756:デフォルトの名無しさん
16/10/06 06:42:51.70 fMQ+lBRM.net
>>729
ラムダって多くはデリゲートとセットでは?
757:デフォルトの名無しさん
16/10/06 07:20:21.92 n3wSSvrr.net
・匿名メソッド構文
delegate(int x){ return x * 2; }
・delegate typeの定義
delegate string IntToStringFunc(int i);
・定義済みdelegate
EventHandler,Action,Func,Predicate,...etc...
"delegate"キーワードは使わなくなったけど、delegateは使うね。
758:デフォルトの名無しさん
16/10/06 20:52:22.74 /ETy8QFu.net
ラムダ式って拒絶反応が出るんだけどすんなり使えた?
759:デフォルトの名無しさん
16/10/06 20:53:36.20 roCwyFi8.net
使えたよ
760:デフォルトの名無しさん
16/10/06 21:04:12.56 JthKKgNo.net
アレルギーは病気だからお医者に行くといいよ
761:デフォルトの名無しさん
16/10/06 21:55:32.73 Gk0vxqlO.net
>>734
FAQ過ぎる
762:デフォルトの名無しさん
16/10/06 23:09:44.94 M7jvqMaX.net
C#はじめて触った時点でもうラムダ式あったからあって当然だった
763:デフォルトの名無しさん
16/10/07 00:40:13.77 7KQTkYQu.net
俺もJava初めて触った時点でラムダあったし
5ヵ月間存在知らなかったけど
764:デフォルトの名無しさん
16/10/07 01:58:05.78 zqRixoIp.net
リンクトゥーエスキューエルは?
765:デフォルトの名無しさん
16/10/07 08:14:27.52 zPyY2V4X.net
拒否感というか、実際に使うまでは全然に覚えれんかったなあ
Cのポインタとかもそうだった
766:デフォルトの名無しさん
16/10/07 08:39:51.90 m+Df9peK.net
逆になんで拒否反応起こすのか理解できない
知って即座に馴染んで初めのうちは便利すぎてちょっと調子乗って使いすぎちゃいましたってなるだろう
767:デフォルトの名無しさん
16/10/07 08:49:35.73 nw13XKq1.net
同じカテゴリの処理の実装場所が散らかるからな。気持ちはわからないこともない
768:デフォルトの名無しさん
16/10/07 13:02:14.27 gy3H7/nZ.net
別人で再生して浄化した。
769:デフォルトの名無しさん
16/10/07 21:00:51.15 NycpsfVm.net
>>743
> 同じカテゴリの処理の実装場所が散らかるからな。
それは使いどころを間違えてるだけやん
770:デフォルトの名無しさん
16/10/07 21:05:49.22 1Dl+MuXR.net
道具のせいにする人ってどこにでもいるよね
771:デフォルトの名無しさん
16/10/07 21:42:30.53 rpvo0aMN.net
いるね
772:デフォルトの名無しさん
16/10/07 23:53:39.03 1f6Aa5PW.net
そういう方はコボルに移ってもコボルのせいにしない?
773:デフォルトの名無しさん
16/10/08 00:27:37.64 YZ0dkDui.net
極端な人ってどこにでもいるよね
774:デフォルトの名無しさん
16/10/08 10:59:27.20 3B0HEkdw.net
>>742
実際にコードを書かない、コードを書けない、かつ不勉強な人がコードレビューでLINQその他に対して激しい拒否反応を起こしたのは見た事ある。
もちろん、その人にコードレビュー受けた人達は大被害ww
その人は自己が見慣れないコードは全部ケチをつけるタイプなので特殊例かもしれん。
775:デフォルトの名無しさん
16/10/08 17:25:08.15 6UkbCfBv.net
そんなやつがレビューアーやってる事の方が問題なんだが
776:デフォルトの名無しさん
16/10/08 17:28:45.90 siQv9+5e.net
直属の上司とか、1年上の先輩とか
機械的に決まるパターンだと悲しみが起こりそう
777:デフォルトの名無しさん
16/10/08 18:05:11.46 160QOg/G.net
日本の文化と思って諦めるしかない
どうしても嫌なら会社はいくらでもある
778:デフォルトの名無しさん
16/10/08 20:07:07.86 6x1/odTz.net
会社はいくらでもあるが、果たして…
779:デフォルトの名無しさん
16/10/09 03:24:54.85 b4dakfPd.net
会社厨うざい
780:デフォルトの名無しさん
16/10/13 14:08:23.46 iJXxjoio.net
Visual C# には iniファイル読み書きのライブラリはないの?
781:デフォルトの名無しさん
16/10/13 14:23:00.79 x9JSnrTo.net
標準のはない
782:デフォルトの名無しさん
16/10/13 14:36:24.85 U+TNkLbY.net
今時はJSONでも使っとけ
783:デフォルトの名無しさん
16/10/13 15:12:47.08 iJXxjoio.net
>>757-758
ありがとう
なんとかする
784:デフォルトの名無しさん
16/10/13 21:52:42.89 iJXxjoio.net
Visual C# で、フォーム上の適当なところでダブルクリックすると
ロード直前に実行される関数のひな形(Form1_Load)ができるけど
この関数を削除するにはどうしたらいいの?
785:デフォルトの名無しさん
16/10/13 21:55:43.87 mO/7q7RS.net
逆に消してどうしたいの?
786:デフォルトの名無しさん
16/10/13 21:56:14.16 NpjsDOUl.net
>>760
普通にエディタ上で消せばいい。あと表示→プロパティ→イベント()からも消しとけ。
787:デフォルトの名無しさん
16/10/13 22:30:08.59 Qz0gpqw/.net
>>760
直後なら(本当は直後でなくてもだけど)ctrl-Zで消せると思う
788:デフォルトの名無しさん
16/10/14 00:12:51.87 ogHyy/3J.net
作ったままの中身空っぽならプロパティイベントから消したら同時に消えたと思う
789:デフォルトの名無しさん
16/10/14 01:38:37.30 T/Zghmcy.net
コードから消そうとすると
エラーになるんだよね
最初ほんとうにイライラしたわ
790:デフォルトの名無しさん
16/10/14 01:48:21.30 ZVLfa9Nj.net
>>765
ビルドエラーのこと?なったらなったで該当箇所教えてくれるから消せばよくね?
791:デフォルトの名無しさん
16/10/14 09:07:30.89 5Y7KbdSJ.net
>>764
中身あっても消えるよ
これほんと余計なんだよな
792:デフォルトの名無しさん
16/10/14 13:40:56.00 SyTitZMd.net
>>765
うちの姉はデザインとコードの切り替えで
CtlとAltと0押して、ShiftとF7で戻ってるぜ
793:デフォルトの名無しさん
16/10/14 16:29:58.71 4Yb8Ckim.net
>>762
ありがとう助かりました
プロパンティからも消してエラーが出なくなった
794:デフォルトの名無しさん
16/10/14 17:46:35.81 3zF/39NX.net
>>767
必要ならコメント入れておけば良いじゃん
795:デフォルトの名無しさん
16/10/14 21:38:58.11 EyG+crJd.net
>>767
コントロールのID変えたら、紐付いてるイベントまで消えたりするもんな
796:デフォルトの名無しさん
16/10/14 23:55:39.11 LsS2QSVW.net
イベントハンドラ消えて困ることってあるの?
せいぜい1~2行の移譲メソッドでしょ
797:デフォルトの名無しさん
16/10/15 00:26:35.41 k9mTyD+7.net
>>772
ha?
798:デフォルトの名無しさん
16/10/15 02:30:14.73 SiQ2B4iv.net
>>773
ん?
799:デフォルトの名無しさん
16/10/15 02:42:51.12 JTDXk7lA.net
>>774
プニュ( ´∀`)σ)Д`)
800:デフォルトの名無しさん
16/10/15 13:47:32.69 trxVi14T.net
あるフォームのボタンを押されたら、スレッドを作って
そのスレッドからフォーム内のラベルの読み書きをおこなう
というプログラムを書いているんだけど
スレッドを別クラスで書くにはどうしたらいいんでしょうか
スレッドを作るとき、そこにフォームのポインタを渡せばいい?
801:デフォルトの名無しさん
16/10/15 13:54:45.28 P+QAjsnw.net
>>776
.Start(Object)のObjectにフォームを入れる。
もちろんThreadのParameterizedThreadStartは引数にObjectが必要。
スレッド終了方法にコツがいるから注意な
802:デフォルトの名無しさん
16/10/15 13:56:21.00 P+QAjsnw.net
なお、Invokeで操作するだぞ
803:デフォルトの名無しさん
16/10/15 14:59:51.84 k370RUkX.net
今時Threadを直接使うとか時代錯誤甚だしい
続けて処理をするなら、メインスレッドからTaskを開始→メインスレッド上でawait→結果受け取ったらラベル更新→次のTaskを開始→…
って感じの流れにするのが今風
804:デフォルトの名無しさん
16/10/15 15:13:08.29 auQgHyKE.net
FW4.5以上必須だけど
805:デフォルトの名無しさん
16/10/15 15:16:20.18 trxVi14T.net
>>777
Start前に別スレッド用のクラスのメンバーに渡しました
ヘタレですみません
>>780
古い機械で動かす用なので今風にはできません
ヘタレですみません
806:デフォルトの名無しさん
16/10/15 16:47:54.95 P7MwN4Hv.net
>>779
意識高いねー
807:デフォルトの名無しさん
16/10/15 17:35:29.50 pMgLYSqA.net
最近は当たり前のことを意識高いと揶揄する若者が増えたよね
808:デフォルトの名無しさん
16/10/15 17:50:47.61 xaDriJeZ.net
ポーリングとかほぼ回しっぱなしの処理ならむしろ生スレッドでいいと思うけどね。
前も書いた気がするけど、デッドロックしやがるたちの悪い処理にも対応可能だし
809:デフォルトの名無しさん
16/10/15 18:44:32.46 uHGHKnNI.net
C#はC++よりも、
810:他人の書いたコードが分かりやすく、数年前のコードが読みやすい言語なのでしょうか?
811:デフォルトの名無しさん
16/10/15 18:47:09.72 I3OeS+b+.net
結論から言うとそんなものは書いた人によります
812:デフォルトの名無しさん
16/10/15 19:01:46.62 6v+uOgk1.net
少なくとも他人のC++の古い糞コードは読みたくない
C#は数年前でもあんま変わらんからそれほどでもない
813:デフォルトの名無しさん
16/10/15 19:41:54.19 UDl7k1b2.net
古い機械って、XPなのかなw
LINQ Task等の登場前後でC#のコードもだいぶ変わってきてきてる気がする。
C#7.0以降でも、どんどん変わって行く気配。
814:デフォルトの名無しさん
16/10/15 19:50:54.93 Gdu5DIb6.net
C#のformアプリで画面内にCADみたいな線を引っ張ったりするものって作ること可能?
815:デフォルトの名無しさん
16/10/15 20:14:30.17 lUEMvsqs.net
C#から勉強したから
C++気持ち悪くてしょうがない
本のサンプルコードに多いから
仕方なく勉強してるけど
816:デフォルトの名無しさん
16/10/15 20:28:52.91 Y5UYqbC9.net
>>789
CADみたいな、の意味がいまいちわからないが簡単な図形なら描ける
URLリンク(dobon.net)
上のページのはコードで座標を決めてしまっているが、マウスドラッグで指定した位置に描くものとかは簡単にできる
817:デフォルトの名無しさん
16/10/15 20:38:05.23 pX/A0T2U.net
>>791
サンガツ
白紙にエクセルのオートシェイプの機能とか文字を好きな位置に挿入する機能を持ったものかな
線のボタンを描画モード、文字ボタンを押せば文字モードみたいなの出来るかなーって
818:デフォルトの名無しさん
16/10/15 20:41:29.04 Y5UYqbC9.net
>>792
>線のボタンを描画モード、文字ボタンを押せば文字モードみたいなの出来るかなーって
そこまでの標準のライブラリは無いので頑張って自分で作ろうw
文字の描画もGDI+でできるからUIの実装だけだ
819:デフォルトの名無しさん
16/10/15 20:50:25.38 vyO0bokn.net
>>780
Microsoft.Bcl.Async使えば.NET Framework 4.0 でも使える
820:デフォルトの名無しさん
16/10/15 20:59:19.56 vyO0bokn.net
>>784
Task作成時にLongRunningオプション指定すれば専用スレッドが作成されるので、ずっと動き続ける処理も対応可能
外から無理やり強制終了させるのはTaskじゃ出来ないけど、それは最後の手段な気が
821:デフォルトの名無しさん
16/10/15 21:01:52.12 trxVi14T.net
ずっと裏で動いているスレッドが1つあって
そのために1つだけスレッドを作っているんだけど Threadじゃだめかな・・・
終了時、Invoke中にメイン死ぬと不正終了になるんだけど
こういうのもTaskとかだとなにもしなくても解決するのかな
822:デフォルトの名無しさん
16/10/15 21:04:09.39 pX/A0T2U.net
>>793
作成可能なのかぁ
よっしゃ頑張って調べてみる
ありがとう
823:デフォルトの名無しさん
16/10/15 23:28:16.70 f1QyDe2U.net
>>756
win32api 直たたきでやる
824:デフォルトの名無しさん
16/10/16 09:25:32.19 N3K1drKB.net
別にDeprecated表示が出るわけでもないのに
いちいち人の顔色確認しないと使えないのかよって感じ
825:デフォルトの名無しさん
16/10/16 09:47:25.93 FoYCot45.net
>>796
そもそもずっと動いてる必要があるのかっていう
スレッドが使われる大半のケースは非同期プログラミングが面倒だからで、
asyncのように継続を自然に記述できる十分優れたプログラミングモデルがあればそもそも必要ないことが多いよ
826:デフォルトの名無しさん
16/10/16 10:13:05.42 JeZKc2qD.net
結局、待ち合わせ処理を上手く書けなければ、非同期処理はドツボルだけだからな
827:デフォルトの名無しさん
16/10/16 10:17:44.05 6cPEMPfX.net
今はasync/awaitのせいでそれ意味あん?っての多いな
828:デフォルトの名無しさん
16/10/16 11:01:54.51 jn8AI4NK.net
IProgress<T>も追加されたし、Control.Invoke()とかBackgroundWorkerとか全然使わなくなったなぁ
829:デフォルトの名無しさん
16/10/16 11:26:09.74 LqkHCFhg.net
MSHTML?とかDOM?の話ってここでしても大丈夫?
id='hoge' なdivを探して、さらにその中に散らばっている class='piyo' なdivを
コレクションしたいんだけど、うまく書けない
830:デフォルトの名無しさん
16/10/16 11:27:43.38 jbRBUkYK.net
$('hoge').children('.piyo')
831:デフォルトの名無しさん
16/10/16 16:08:56.29 43exmUNo.net
MSHTMLはCOMコンポーネントスレだな
C#ではない
832:デフォルトの名無しさん
16/10/16 16:16:22.79 6cPEMPfX.net
ここよりもどこの方が答え出やすいだろってんならわかるが、C#でやりたいってんだからここでいいだろ
変なとこで聞くとC++とかjsでの例が返ってきて面倒
833:デフォルトの名無しさん
16/10/16 17:18:36.54 SvwLiUUm.net
一方このスレでは、使ってる人が居なくて回答がないってオチなんですけどね
ふふふ
834:デフォルトの名無しさん
16/10/16 17:25:57.62 FB+xb9yt.net
逆にnugetで使えるMSHTML的なライブラリを教えてあげたらどうですか
835:デフォルトの名無しさん
16/10/16 20:17:19.13 rLjB7sKS.net
>>804
上手く書けないってどういうこと?
classNameのことかもしれないなと思ったけど違うかな?
普通にdiv取ってクラス名をアトリビュート指定するとき'class'じゃダメ
'className'じゃないといけない
836:デフォルトの名無しさん
16/10/16 20:43:38.34 bkFW5Wdb.net
俺もさっき?ってなった
837:デフォルトの名無しさん
16/10/16 20:44:43.60 HptTw0AS.net
便利な定番ライブラリー教えてください
838:デフォルトの名無しさん
16/10/16 22:10:05.08 rLjB7sKS.net
nugetにも野良にもHTMLライブラリはあまりいいものがない
XPath指定しないといけなかったり単純じゃない
839:デフォルトの名無しさん
16/10/16 22:13:37.85 rLjB7sKS.net
jqueryみたいな使い勝手のものがいいのに全然そういうのは見当たらない
840:デフォルトの名無しさん
16/10/16 22:32:11.51 dK/+e+o+.net
か余計なことせずそのまま実績のあるjquery使えばいいのでは
841:デフォルトの名無しさん
16/10/16 22:55:35.24 Bi9cJ88q.net
>>812
定番かどうかは分からないけどHtmlAgilityPackはどう?
まぁ813が言っているようにXPath使わにゃならんから面倒だけど
842:デフォルトの名無しさん
16/10/17 00:41:57.54 gL0kaGzi.net
mshtmlつかうなら
URLリンク(msdn.microsoft.com)(v=vs.85).aspx
queryselectorが使える
843:デフォルトの名無しさん
16/10/17 21:53:10.29 vjQZXreA.net
HtmlAgilityPackかSGMLReaderあたりかなあ
844:デフォルトの名無しさん
16/10/18 16:42:09.62 7mpjJA7j.net
今動作してるIEの一覧を取得するのにSHDocVw.ShellWindows()を使うけど
IEかただのエクスプローラかそれとも何かのコンポーネントかを判別するのって
どうしたらいいの?
845:デフォルトの名無しさん
16/10/18 18:13:12.16 ewOaGiwG.net
そんなもの使うなとしか言えない
846:デフォルトの名無しさん
16/10/18 18:29:09.57 mq8BnqKZ.net
IE6のときならenumwindowで判断して、hwndからihtmldocumentに変換してたな
847:デフォルトの名無しさん
16/10/18 19:15:18.50 FlxOlnSe.net
>>820
無能だなー
848:デフォルトの名無しさん
16/10/18 20:46:41.52 ewOaGiwG.net
>今動作してるIEの一覧を取得するのにSHDocVw.ShellWindows()を使う
なぜこんなものを使う?
849:デフォルトの名無しさん
16/10/18 20:52:19.50 Gt7CC2vm.net
背後になんか面倒くさい理由を隠してるとしか思えんよな
850:デフォルトの名無しさん
16/10/19 12:11:35.27 LBA1+3Md.net
>>823
こんなもの以外の方法があるならおしえて
ほかの楽な方法があるなら知りたいわ
851:デフォルトの名無しさん
16/10/19 17:19:08.15 arYWyhLn.net
IEオートメーションじゃ実現できないのかな?
852:デフォルトの名無しさん
16/10/19 23:13:27.42 LBA1+3Md.net
MSHTML.IHTMLElement を MSHTML.IHTMLDocument3 にキャストできるの?
853:デフォルトの名無しさん
16/10/19 23:33:28.27 O7AcwVjM.net
documentプロパティから取れるんじゃないか?すくなくともihtmldocument2は取れる3は使ったことないから知らね
854:デフォルトの名無しさん
16/10/20 11:00:38.44 m/6IB2Ib.net
ベクトル使いたいからWPFのチュートリアルみてるけど
もう自分で実装してForm使った方が早い気がした
855:デフォルトの名無しさん
16/10/20 11:21:11.77 h44EP0Eo.net
標準のメッセージダイアログを継承して
おっきいダイアログ出せるようにできる?
856:デフォルトの名無しさん
16/10/20 11:52:28.07 h1aMlyOK.net
>>830
継承してもstaticメソッドの実装はオーバーライドできないよね。
ゼロベースで作っても大した手間でもないよ。
俺はモーダレスかつタイマーで自動で消えるメッセージボックスを自作して使ってる
857:デフォルトの名無しさん
16/10/20 12:16:12.40 h44EP0Eo.net
>>831
ありがとう。 自分で作った。
858:デフォルトの名無しさん
16/10/20 12:33:25.92 hy7ZxWJM.net
なんでたまに継承できないクラスあるのかな?
859:デフォルトの名無しさん
16/10/20 12:33:46.23 hy7ZxWJM.net
オーバーライドだった
860:デフォルトの名無しさん
16/10/21 22:58:40.56 qlDwM755.net
gcnewってなに? 今でも使っているの?
861:デフォルトの名無しさん
16/10/21 23:06:00.00 myg7EJ7B.net
>>835
c#にgcnewは無いよ。
C++/CLIでc#のnewに相当するのがgcnew。
マネージオブジェクトを割り当てるのに使う。
862:デフォルトの名無しさん
16/10/22 11:50:35.71 uYEAFNJ9.net
>>836
ありがとう
何かの記事でごっちゃに見たみたいだな
863:デフォルトの名無しさん
16/10/22 15:25:07.68 nST3ahFj.net
質問
LINQのクエリ/メソッド式って、どう使い分けるもんなん?
「こういう人はこう」でも「こういう状況ではこう」でもいい。
864:デフォルトの名無しさん
16/10/22 16:27:57.03 Hz0V4lr8.net
とりあえずLINQ to Objectsの場合
基本的にクエリ式は忘れていいと思うよ
SelectManyが出てくるときだけ思い出すことはある
865:デフォルトの名無しさん
16/10/22 16:39:49.89 nST3ahFj.net
ありがとう、あんまり気にしないことにする
866:デフォルトの名無しさん
16/10/22 17:43:18.97 29Li8We/.net
>>829
君の言うベクトルって何?
画像系の話?
867:デフォルトの名無しさん
16/10/22 18:08:09.54 O/1X83Cc.net
>>838
単純なクエリはメソッドの方が簡潔に書けるけど、複雑になると解読不能になるからクエリ式を使う
具体的にはネスト(SelectMany)やjoinやgroupbyを使う場合だな
クエリ式だとletでエイリアス作れるし
868:デフォルトの名無しさん
16/10/22 19:37:45.10 jUJZAwsX.net
管理者権限が必要な処理の書き方とか全然知識
869:がないんだけど、そういうの詳しく書いてある本ってあります?
870:デフォルトの名無しさん
16/10/22 23:36:47.33 AdTl/Wc+.net
class 社員 { public string 名前; }
class 部署 { public List<社員> 社員リスト; }
class 会社 { public List<部署> 部署リスト; }
static void Main()
{
var data = new List<string[]> {
new string[]{ "会社A", "営業部", "社員1"},
new string[]{ "会社A", "営業部", "社員2"},
new string[]{ "会社A", "営業部", "社員3"},
new string[]{ "会社A", "技術部", "社員4"},
new string[]{ "会社A", "技術部", "社員5"},
new string[]{ "会社A", "経理部", "社員6"},
};
var 会社A = new 会社();
// ここで date を 会社A の中に代入したい
}
こういう単純なクラスとデータがある場合に、dataを会社Aに代入したいのですが、forループでやろうとすると例えば営業部の部署名が複数回出てくるので
上手く出来ませんでした。上級者の人のテクニックを教えて下さい。
本当は会社B、会社CもあるdataをList<会社>に入れたいのですが、まずは会社Aのみで。
あるいは、より良いクラス定義のしかたやデータの持ち方などありましたら教えてください。
871:デフォルトの名無しさん
16/10/23 00:22:31.27 B5STCa/c.net
>>844
何がしたいのかよくわからんけど、そのコードだと
会社は会社名のプロパティを持ってないし部署も部署名のプロパティを持ってないから
"会社A"とか"営業部"とかいうデータは使われず捨てられちゃうと思うんだけど、そこはいいのかな?w
872:デフォルトの名無しさん
16/10/23 07:53:45.11 OxwAMa74.net
>>844
Listの操作でいけるだろ
コンストラクターの引数で
873:デフォルトの名無しさん
16/10/23 09:52:13.25 1pxdLQGB.net
部署クラスが部署名を持ってないってことは、その部署クラス(のインスタンス)をみても
どの部署かわからんってことだぞ
つまり、社員の部署が分かったとしても、その社員を
List中のどの部署インスタンスに設定してよいかわからんってことだ
874:デフォルトの名無しさん
16/10/23 10:49:08.80 sEyHovA2.net
class 会社{会社CD 会社名}
class 部署{会社CD 部署CD 部署名}
class 社員{社員CD 会社CD 部署CD 社員名}
個人的にはこんなイメージ
875:デフォルトの名無しさん
16/10/23 10:57:06.97 ZJ79iXt0.net
なんだそのCDって。
876:デフォルトの名無しさん
16/10/23 11:09:20.84 +n3OHrjP.net
「コード」の略として使われてるのを、帳簿やら流通やら管理やらで結構広く使われてるけど
プログラミング界隈に絞ると余り見ない気がする
877:デフォルトの名無しさん
16/10/23 11:14:50.63 hWrb1W5d.net
flagをflgにして1バイト削減するのとどちらがいい
878:デフォルトの名無しさん
16/10/23 11:18:19.73 KJ+MRgkM.net
省略がどうしても必要にならない限り
無意味な省略はしない
879:デフォルトの名無しさん
16/10/23 11:29:06.27 04VfEeFu.net
>>844
>営業部の部署名が複数回出てくるので
>上手く出来ませんでした
この部分の意味というかどうしたいかがわからん。"会社A"の要素の振り分けならContainsで確認するだけだが
880:デフォルトの名無しさん
16/10/23 11:39:54.27 hJuf8zeH.net
データ突っ込んでDBみたいに扱いたいならDataSetでも良いんじゃないの
速度求めるならオススメできんけどさ
881:デフォルトの名無しさん
16/10/23 12:00:39.55 0D6CiVY3.net
>>851
menuをmnu、userをusr、topをtpとか
何かの制御ボードのサンプルコードで見たけど
1バイト削ることに何の意味があるのか分からん
882:デフォルトの名無しさん
16/10/23 12:14:59.88 631/ZmCa.net
バーコードの最後の数字がC/Dって呼ばれてたな確か
check digitだったと思うけど
883:デフォルトの名無しさん
16/10/23 12:15:35.19 +n3OHrjP.net
大昔には削るメリットは結構あったらしい
変数名の長さに制限があるとか、エディタで扱いやすい長さだとか、そういうの。
884:デフォルトの名無しさん
16/10/23 12:18:54.25 XCFJNrSh.net
>>844
Dictionaryを使えばいいよ
class 社員 { public string 名前 {get;set; }
class 部署 { public Dictionary<string,社員> 所属社員 {get;} = new Dictionary<string,社員>(); }
class 会社 { public Dictionary<string,部署> 所属部署{ get;} =new Dictionary<string,部署>(); }
var 会社情報 = Dictionary<string,会社>();
foreach(var d in data) {
if(!会社情報.ContaintsKey(d[0])) 会社情報[d[0]] = new 会社();
if(!会社情報[d[0]].所属部署ContaintsKey(d[1])) 会社情報[d[0]].所属部署[d[1]] = new 部署();
会社情報[d[0]].所属部署[d[1]].所属社員[d[2]] = new 社員() { 名前 = d[2] }
}
885:デフォルトの名無しさん
16/10/23 12:19:09.90 sEyHovA2.net
未だに列名6バイトなクソDB使ってて
癖ついちゃってるんだすまない
886:デフォルトの名無しさん
16/10/23 12:24:08.02 LLV8Wwru.net
ジャップランドでは今なお80文字x24行の端末で開発もオペレーションもするマシンがバリバリ現役で山ほど稼働しており、
PGという名のライン工により日夜大量の糞コードが生産され続けているのです
887:デフォルトの名無しさん
16/10/23 12:25:50.86 XCFJNrSh.net
テーブル定義からDTO自動生成したら30文字以下の略式名称が沢山出てきてイラついた事ならよくある
どこの製品とは言わんが
888:デフォルトの名無しさん
16/10/23 12:29:06.93 8nXGysoS.net
>>858
分かりずらすぎ
889:デフォルトの名無しさん
16/10/23 12:51:39.85 XCFJNrSh.net
>>862
転職をお勧めするよ
890:デフォルトの名無しさん
16/10/23 13:03:17.86 8nXGysoS.net
Dictionaryなんて使わない。
891:デフォルトの名無しさん
16/10/23 13:10:06.70 Qt7KzQsX.net
今時はクラス名や変数名とかに日本語が使えるから分かりやすくていいよね
892:デフォルトの名無しさん
16/10/23 13:15:27.54 PYj3VGyg.net
>>864
自分の使わないものを「わかりづらい」って批判するのはただの思考停止だな
893:デフォルトの名無しさん
16/10/23 13:16:08.35 +n3OHrjP.net
>>865
あとはインテリセンスちゃんに頑張ってもらうだけ!
894:デフォルトの名無しさん
16/10/23 13:16:17.05 qVlUr/o9.net
フォームのボタンとかラベルの名前の付け方
何か命名規則やコーディング規約とかある?
labelHogeとかlbl_hogeとかルールあるの?
895:デフォルトの名無しさん
16/10/23 13:17:43.18 PYj3VGyg.net
>>868
そんなもの決まってないから
クラス名・変数名に迷ったら書き込むスレ。Part27
スレリンク(tech板)
気になるのなら上のスレに行け
896:デフォルトの名無しさん
16/10/23 13:18:39.73 YUghrMnK.net
会社の複数形…
会社達["会社A"].,["営業部"].["社員1"];
会社達.Select社員("会社A", "営業部", "社員1");
897:デフォルトの名無しさん
16/10/23 13:19:22.06 YUghrMnK.net
間違って . いれっぱだった
898:デフォルトの名無しさん
16/10/23 13:24:40.71 631/ZmCa.net
>>868
コントロール専用のルールはないけど、VB6みたいなハンガリアンはやめろってことにはなってたはず。
ただ実際はコントロールに限ってはハンガリアン使ってる人が多いと思う
899:デフォルトの名無しさん
16/10/23 13:43:56.51 7RJgAwd4.net
アプリケーションハンガリアンは普通に使う
インテリセンスがグループ化してくれて便利やろ
900:デフォルトの名無しさん
16/10/23 13:48:58.15 qVlUr/o9.net
>>869-873
ありがとう
とりあえずマイクロソフト推奨のルールは
ないってことやね
901:デフォルトの名無しさん
16/10/23 14:47:40.36 KJ+MRgkM.net
.NET Frameworkの記法に合わせる事にしてる
URLリンク(msdn.microsoft.com)(v=vs.100).aspx
902:デフォルトの名無しさん
16/10/23 14:52:56.32 Qt7KzQsX.net
分かりやすい日本語にしてる
903:デフォルトの名無しさん
16/10/23 15:22:39.08 LLV8Wwru.net
>>873
人それぞれだけど、俺は全てのラベルをラベルとしてグループ化するより
例えば会社名のフィールドならラベルとテキストボックスをまとめて会社名としてグループ化したい派
コントロールの種類でグループ化することにあまりメリットを感じない
904:デフォルトの名無しさん
16/10/24 11:24:49.66 l6YOm+ny.net
>>874
.NET前:MS「ハンガリアンを使え」
.NET後:MS「ハンガリアンを使うな」
URLリンク(msdn.microsoft.com)
905:デフォルトの名無しさん
16/10/24 11:33:54.68 ex01Zy3v.net
>>878
それ翻訳がおかしいだけでしょ
ちゃんと翻訳されてる方を見ろよ
URLリンク(msdn.microsoft.com)(v=vs.100).aspx
906:デフォルトの名無しさん
16/10/24 11:56:19.29 fiWgzVNs.net
規約と推奨をちゃんと切り分けて話してくれよ
質問者は最初に「規約」を聞いてきてその後に「MSの推奨」になっているけど話が全然別の物になるから
907:デフォルトの名無しさん
16/10/24 12:07:19.75 A1JDcDJD.net
>>880
規約があれば規約を教えてほしい。
規約はないが推奨はある というなら推奨でもいい。
推奨もないなら 「俺はこうしてる」 でもいい。
908:デフォルトの名無しさん
16/10/24 12:16:05.65 fiWgzVNs.net
>>881
推奨は>>878>>879でリンク貼ってもらっているだろ
そういったこと気にするのなら2chで聞くよりも適当に本何冊か買って書いてあるとおりにでもやればいい
職場なら職場のルールがあるし、趣味でやっているのならどうするかは個人の勝手なんだから
909:デフォルトの名無しさん
16/10/24 12:23:17.96 csInVVUs.net
どうでもいいことで妙な絡み方する奴だねw
910:デフォルトの名無しさん
16/10/24 12:25:46.22 TdMIMrel.net
あとMSの提示してる規則はあくまで不特定多数にAPIが参照される前提の「ライブラリ」に対してのみの提案
だから文中にもpublic/protectedに対するものしか出てこない
アプリ内の記述とか、ライブラリでもinternalやprivateなものは完全ノータッチ
911:デフォルトの名無しさん
16/10/24 16:07:18.44 SvgB/4J1.net
>>878
これは見事な糞機械翻訳だな
原文: [X DO NOT] use Hungarian notation.
機械: [X のしないで] ハンガリアン記法を使用します。
直訳: [×するな] ハンガリアン記法の使用。
意訳: ハンガリアン記法を使用するな。
912:デフォルトの名無しさん
16/10/24 16:40:04.52 qDj+nyPk.net
URLリンク(www.atmarkit.co.jp)
ここを参考に、オプションを指定して2個めを起動すると、起動中のアプリに独自メッセージを投げるようにしてみた。
ただ、アプリは複数のウィンドウを開いていて、探した Process オブジェクトの MainWindowHandle には
フォーカスがある (あった?) ウィンドウのハンドルが入ってるみたいで、目的のウィンドウじゃない場合がある。
全部のフォームの WndProc をオーバーライドするのも保守性がよくないし、どうしたらいいんでしょうか。
913:デフォルトの名無しさん
16/10/24 17:05:46.02 f1Oob2xq.net
>>886
FindWindow使うんじゃあかんの?
914:デフォルトの名無しさん
16/10/24 17:10:36.84 e0+jKQlJ.net
そのウィンドウの作りによるけど、親子関係を維持してるなら親をたどるとか
モードレスの場合は、、、どれがメインなのかを知る手段をお互いの約束事でみつける、かなあ
915:デフォルトの名無しさん
16/10/24 17:40:28.81 TdMIMrel.net
PostMessageでいいならIMessageFilter実装してApplication.AddFilterすれば
ちょっと構造的にやるならHWND_BROADCASTで問い合わせてみるとか
916:デフォルトの名無しさん
16/10/24 17:41:57.18 TdMIMrel.net
っていうかそんなんやるんだったらもうIPCチャネル使ったWCFでいいか…
917:デフォルトの名無しさん
16/10/24 20:50:12.21 qDj+nyPk.net
ご意見ありがとうございます。
タスクバーから表示を消している場合は API を使って探すしかないようなんで、それを参考にしようとしたけど、
できれば極力 API を使わない方法がないかなーと思いまして。
IPC も検討したけど、WndProc をオーバーライドした抽象クラスを作って、そこから派生させるようにしました。
まあでも IPC 使ったほうがスマートでしょうね。
918:デフォルトの名無しさん
16/10/27 16:31:51.10 NElj0+xs.net
整数型間のキャストについてちょっと質問
■ ビット幅大→ビット幅小
上位ビットの切り捨て
■ ビット幅小→ビット幅大
符号拡張後のビットイメージのコピー
■ 同じビット幅で符号の有無が違う型の間のキャスト
ビットイメージのコピー
こういう理解で合ってる?
919:デフォルトの名無しさん
16/10/27 17:49:24.66 K4rqOI65.net
整数間って、符号有から符号有への変換しか考慮しないのか?
920:デフォルトの名無しさん
16/10/27 19:04:56.45 Z8lrimsb.net
>>892
全然違う
はみ出るなら普通に例外飛んでくる
921:デフォルトの名無しさん
16/10/27 20:36:31.88 rC8yedLe.net
>>894
C#はアンチェックキャストも使える
>>892で合ってる
922:デフォルトの名無しさん
16/10/27 20:41:37.27 T6ck7IU9.net
質問書き込む間に試せば済むのにって思ったのは俺だけかな
923:デフォルトの名無しさん
16/10/27 20:59:04.81 u3THH1jN.net
あまりにも自分に自信が持てないと、自分で試したことすら信用できなくなる
そうすると、百聞は一見に勝ってしまう
924:デフォルトの名無しさん
16/10/27 21:23:24.66 5bnizB9y.net
uncheckedが前提ならそうかくだろ
キャストと言えば普通のキャストだろが
925:デフォルトの名無しさん
16/10/27 21:35:03.00 PfRUD0fJ.net
>>895
ありがとう
926:デフォルトの名無しさん
16/10/27 22:05:16.44 ILgHPkDG.net
>>898
カッカすんなよ
何が普通かは人によって違うんだよ
927:デフォルトの名無しさん
16/10/27 22:22:58.40 pbaR/VeE.net
>>898
変数だとuncheckedがデフォルト設定だから、省略されてもおかしくない。
928:デフォルトの名無しさん
16/10/28 08:40:14.47 AW+qEc2o.net
>>896
お前だけだよ。
929:デフォルトの名無しさん
16/10/29 19:08:46.81 dXKRRVDP.net
C#erはサードパーティ製のORMやEntity Frameworkを禁止された時は何を使うんですか?
今いる現場では代わりにADO.NET & 型指定DataSet(デザイナーで作るアレです)を使っていますが生産性がいまいちなので他の方法を探しています
この方法の全てが気に入らない訳ではなくプロパティが全てパブリックになってしまう、DBNullとnullの変換が面倒、Nullable使用不可、邪魔なパブリックメソッドが沢山あるといったポイントが不評です
特にパブリックプロパティの問題はオブジェクトに集中するべき振る舞いがシステム全体に分散してしまうので深刻です
930:デフォルトの名無しさん
16/10/29 19:29:57.79 ddj4bzvw.net
DAO手書きでいいよ
931:デフォルトの名無しさん
16/10/29 19:46:29.75 wsj9Hrl0.net
>>903
禁止する理由?
932:デフォルトの名無しさん
16/10/29 19:46:57.95 wsj9Hrl0.net
…は何
って打とうとした
933:デフォルトの名無しさん
16/10/29 20:03:24.68 3O/hAOpu.net
DataSetって産廃を未だに使っているところあるんだな
934:デフォルトの名無しさん
16/10/29 20:57:46.79 9ElojHns.net
EFを禁止する理由って一般的には何?
935:デフォルトの名無しさん
16/10/29 21:02:47.76 ZloojbFD.net
>>906
会社の決まりとかだろ
936:デフォルトの名無しさん
16/10/29 21:11:45.43 wsj9Hrl0.net
>>909
その理由を聞いてるんだろ
937:デフォルトの名無しさん
16/10/29 21:12:05.69 nUOhPXQV.net
もし、速度の問題ならDapper使うべきだろうがね
938:デフォルトの名無しさん
16/10/29 21:21:04.07 Xtl4N18Y.net
理由がなければ禁止されないと思ってるのが可愛い
939:デフォルトの名無しさん
16/10/29 21:31:13.29 ZloojbFD.net
>>910
そんなもん聞いてどうなるもんでもないし
940:デフォルトの名無しさん
16/10/29 22:29:40.91 3zUqMDSq.net
理解できずにトラブルが起きたときに思考停止する低能があまりに多いから
知らないところでメタ情報取得のためのSQL文を実行してるので
RDBMSのユーザーに本来不要な権限が必要になる場合があるから
941:デフォルトの名無しさん
16/10/29 22:50:05.69 dNFy3BfA.net
>>913
思考停止おつ
942:デフォルトの名無しさん
16/10/29 23:40:38.36 O0e58OxR.net
安い人足を使ってるのでついて来れない
943:デフォルトの名無しさん
16/10/30 03:55:02.62 POLtarGN.net
>>916 これ
944:デフォルトの名無しさん
16/10/30 08:47:00.01 2kQlDpFE.net
>>915
会社によって理由なんて様々だし
たいてい議論しても解決策なんて出ないし
そもそもここで議論すべき内容じゃないし
945:デフォルトの名無しさん
16/10/30 08:49:23.96 m4OftK0R.net
理論武装すれば会社がライブラリの使用を認めてくれるかって言ったら、そんな事ねーしなあ
946:デフォルトの名無しさん
16/10/30 08:55:44.96 qBBSmv5i.net
そらそうだ
変えられないことをあーだこーだ言っても時間の無駄
947:デフォルトの名無しさん
16/10/30 09:05:18.12 bey9pkjT.net
小さい会社だと文句言うと変更するか検討始めるからな。基地外が一人いるだけで開発がすげー滞るww
948:デフォルトの名無しさん
16/10/30 09:18:38.59 2kQlDpFE.net
>>919
会社の人が納得してくれても親会社からの通達でダメとかもあるし...
949:デフォルトの名無しさん
16/10/30 12:38:48.05 vWAd+Msy.net
そんな会社やめちまえよお前ら
950:デフォルトの名無しさん
16/10/30 12:41:42.06 CC/Nb3c5.net
スレ違いどころか板違い。マ板でやれ
951:デフォルトの名無しさん
16/10/30 22:32:58.24 YeZOi3cQ.net
結局のところORMを自作するほかないということでしょうか
952:デフォルトの名無しさん
16/10/30 23:25:09.40 asmRMmwq.net
君の質問に対しては、現場で許可されてる方法を使え、としか答えようがない
953:デフォルトの名無しさん
16/10/31 09:23:24.34 lW2bcIPg.net
[GeneratedCodeAttribute( "Gardens Point Parser Generator", "1.5.2")]
この[]で宣言されるのは何を意味するのだろう。
自分で書くことはないが生成されたコードではよく見かける。いままでコメント
くらいの意識で眺めていたが、気になる。
954:デフォルトの名無しさん
16/10/31 09:36:11.24 OqD2s4Cc.net
属性っていうメタデータ
シリアライズ用のデータとかネイティブAPI呼び出すとかDIとか
そういうのを書くときには使うことも出てくると思うぞ
955:デフォルトの名無しさん
16/10/31 09:40:21.62 iFh8Iutn.net
C#で便利になったもんのひとつが属性だな。Cでも同じように使えたらよかったのに
956:デフォルトの名無しさん
16/10/31 10:34:23.11 lW2bcIPg.net
そういう便利な機能があったとは。ありがとう
自分には無関係と思っていたが、例をみると
#ifの代わりに使えるね。
/// SHOW_INTERMEDIATE というシンボルが定義されているときのみ
/// 配列の内容をコンソールに表示する。
[Conditional("SHOW_INTERMEDIATE")]
static void IntermediateOutput(double[] array)
{
Output(array);
}
957:デフォルトの名無しさん
16/10/31 10:51:33.29 lW2bcIPg.net
>929
しかし普通にはあまり使うケースはないんではない?
どう便利なのかいまいちよくわからない。 Cで使えると何が便利になる?
#ifの代わりくらいになるのはわかるが、、
958:デフォルトの名無しさん
16/10/31 10:57:51.43 7o6spjkC.net
バージョンで処理を分けておいて
過去のバージョンの処理に戻したい場合は属性を変える
オープンソースだと後方互換性維持のためにそんな風にしてるね
959:デフォルトの名無しさん
16/10/31 11:01:23.63 P3Gvvomo.net
プロパティシートで使うやつ?
960:デフォルトの名無しさん
16/10/31 20:59:34.23 03zQ5mOK.net
属性はゴミ
そう思っていた時期が僕にもありました
961:デフォルトの名無しさん
16/10/31 22:23:39.25 iWkg1iMh.net
属性をうまく使いこなせればプログラムがかなりスッキリ書けるんだけど
なかなかうまく型にはまらなくて何度も作り直してるわ
962:デフォルトの名無しさん
16/10/31 22:33:33.79 PR8uOfdS.net
ちょっと凝ったことしようとしたら、DllImportAttributeとFlagsAttribute位は使うだろう。
963:デフォルトの名無しさん
16/10/31 22:52:52.13 T+jfS1R6.net
あとはUnityとかもバンバン使うイメージ
964:デフォルトの名無しさん
16/10/31 23:16:26.73 pApy3Eby.net
属性はSTAThreadとDllImportしか使った事ない
965:デフォルトの名無しさん
16/10/31 23:24:32.92 utslClq8.net
DataAnotationは良いぞ
まあガチ業務だとちょっと物足りなくて結局は自作する羽目になるんだけど
966:デフォルトの名無しさん
16/11/01 08:32:19.42 hFVadVBb.net
>>936
キャッ、それおまじないと思ってた。W
コピペしたコードの中にはよく混じってた。
967:デフォルトの名無しさん
16/11/01 08:42:26.93 iAfLjhk9.net
JSONにバインドするクラスに属性使いまくりだね
968:デフォルトの名無しさん
16/11/01 09:27:22.11 hFVadVBb.net
Unityってスクリプト言語みたいだね。これって属性なの? 面白そうだけど
どんな時に使う?
969:デフォルトの名無しさん
16/11/01 09:31:35.84 D+IVr+nD.net
ちょっと意味わからない
970:デフォルトの名無しさん
16/11/01 11:54:25.84 hFVadVBb.net
あっ、意味わかった。ごめん勘違いしていた。C#でUnity使うときの属性のことだね。
971:デフォルトの名無しさん
16/11/01 11:56:12.97 hFVadVBb.net
>JSONにバインドするクラスに属性使いまくりだね
なんで使うの? そういう必要を感じたことないんだけど。どういう場面でつかうの?
972:デフォルトの名無しさん
16/11/01 12:18:29.71 KGKMFPtk.net
>>945
天気予報データとかWeb Apiで返すデータにjson配信多いよね
973:デフォルトの名無しさん
16/11/01 13:51:57.28 bjN+4M8I.net
そういう意味じゃないと思うが
シリアライズ/デシリアライズ対象外のフィールドを指定したり
JSONとC#のクラスフィールドで名前が一致しない場合にそれらをマッピングしたりする
974:デフォルトの名無しさん
16/11/04 15:22:24.22 PH2+pS4C.net
VisualStudio2015起動中に出したらUnity生活終わるナリ・・・
あああ^~ああああああぁ^~~~!!!!起動遅せええええ!
ブリュブリュブリュブリュブリュゥゥゥウ!!!!ブッチッチブブッチブッチチ!!!
975:デフォルトの名無しさん
16/11/04 15:53:31.89 kQ8VEtHk.net
怪文書過ぎる
976:デフォルトの名無しさん
16/11/04 16:26:14.38 T8/2G1/9.net
>>946
天気予報に限らずapiが返すのはxmlかjsonだろ
977:デフォルトの名無しさん
16/11/04 16:54:25.27 22qUZxEG.net
>>950
「とか」
978:デフォルトの名無しさん
16/11/04 16:58:09.06 FRTndHrZ.net
天気はxmlの方が多いイメージだな
979:デフォルトの名無しさん
16/11/04 17:11:19.05 fW1GVoX0.net
じぃさんとかばぁさんはとしくってるいめーじ
980:デフォルトの名無しさん
16/11/04 17:17:22.17 pA+obtrY.net
そういうデータをcsvに変換するフィルタが大活躍します
981:デフォルトの名無しさん
16/11/04 17:54:23.34 V0keAHui.net
気象庁配信のデータはXMLとFORTRAN時代さながらの固定テキストだった
982:デフォルトの名無しさん
16/11/04 17:59:21.35 uJM5jI72.net
内部にコレクション持ってるなら固定テキストは向いてない
983:デフォルトの名無しさん
16/11/04 18:59:09.41 yE+rsN5M.net
>>948
これはいけない
984:デフォルトの名無しさん
16/11/04 21:48:57.57 eWOxJ5YA.net
コボルと非正規化データベースにどっぷり浸かって抜け出せないオジさんはCSVを愛している傾向が強い
985:デフォルトの名無しさん
16/11/04 21:52:44.37 EoXigf7J.net
あるある
まあ環境だから仕方ない
986:デフォルトの名無しさん
16/11/04 23:50:28.01 V0keAHui.net
職人としてCOBOL時代の技術に拘るなら潔く固定長レコードを使ってほしい
あれはあれで美しい一つの完成系だと思う
CSVは中途半端でオジさんの誇りが全く感じられない
987:デフォルトの名無しさん
16/11/05 00:02:53.11 DUzD1Vkt.net
固定長は正義
40年近くプログラミングやってるが固定長にまさるものはない
988:デフォルトの名無しさん
16/11/05 01:05:40.91 p62EnB4H.net
なーんでタブ区切りはやんないんだろーなー
トラブル減るのにいまいち認知度がない
989:デフォルトの名無しさん
16/11/05 01:49:06.12 /yzRKBKB.net
CSVと違ってエクセルが直接はサポートしてないからじゃないの?
っていうかCSV使う動機ってエクセルへのエクスポートぐらいしかないと思うけど
990:デフォルトの名無しさん
16/11/05 04:44:51.30 Mhx54Slb.net
科学技術系のソフトは割とCSV吐いたり要求したりが多い気がする
991:デフォルトの名無しさん
16/11/05 06:14:56.68 9ROCL4OX.net
>>963
直接サポートが何を指しているのか分からないが
タブ区切りインポートは「テキストファイルのインポート」機能
エクスポートは「テキストファイル(タブ区切り)」で保存
両方とも標準でサポートされている
992:デフォルトの名無しさん
16/11/05 06:15:16.00 Bnw8PuKo.net
Open XML SDK使ってXLSX直接読み書きすると捗るわ
993:デフォルトの名無しさん
16/11/05 06:50:20.50 HDT4XNAt.net
>>965
恐らく「タブは印刷すると見えない」が問題なんだろうが
それこそこっち側からは理解不能だ
994:デフォルトの名無しさん
16/11/05 07:01:16.64 Q0fi8pIF.net
Excel開いた状態からD&DでコピペするとTSVだよな確か
995:デフォルトの名無しさん
16/11/05 07:32:01.87 6wNzhQFs.net
>>966
知らない間にオープンソースになってたんだな
ちょっと使ってみるかな
996:デフォルトの名無しさん
16/11/05 11:00:50.75 p62EnB4H.net
生はつらくない?
ClosedXMLおすすめ
NPOIはバグ多い
997:デフォルトの名無しさん
16/11/05 11:01:17.28 oE61kQsA.net
namespace Calculator
{
public abstract class ScanBase : AbstractScanner<ValueType,LexLocation> {
}
public class Parser: ShiftReduceParser<ValueType, LexLocation>
{
static Parser() {
}
protected override void Initialize() {
}
省略
protected override string TerminalToString(int terminal)
{
}
Parser() : base(null) { }
public static void Calculate(string input)
{
Parser parser = new Parser();
Scanner scanner = new Scanner();
scanner.SetSource(input, 0);
parser.Scanner = scanner;
parser.Parse();
}
}
}
Parser() : base(null) { }
これは何をしてるのですか?
998:デフォルトの名無しさん
16/11/05 11:05:51.24 vG38OUAL.net
>>971
うんこ食べてる
999:デフォルトの名無しさん
16/11/05 11:17:20.70 N0pRKuvW.net
>>966
あれMSDNやそこらのサイトの例を鵜呑みにすると、複数フォント使っているセルは最初の単語しか取得出来ないんだよな
まあきっちり読めばいいだけなんだが
1000:デフォルトの名無しさん
16/11/05 11:17:22.49 93kgJ5Ii.net
>>965
分かれよw
それはTSVそサポートしてるんじゃないでしょ。
っていうか「テキストファイルのインポート」だって自分で書いてるじゃんw
>>969
プレーンテキストのデータはそうなってるだけでしょ。
そういやその逆の操作も可能だから、TSVでクリップボードにコピーして
スプレッドシートに貼り付け出来るようにしたソフトを昔作ったことがあったな
1001:デフォルトの名無しさん
16/11/05 11:18:47.90 u9ZZUUBm.net
>>971
そういうのは再帰下降パーサを手書きしてみればなんとなく分かるようになる
前知識なしでShift-Reduceは無謀
1002:デフォルトの名無しさん
16/11/05 11:22:21.39 oE61kQsA.net
ShiftReduceParserではなくて
Parser() : base(null) { } ここね。
1003:デフォルトの名無しさん
16/11/05 11:33:26.54 6wNzhQFs.net
>>974
> それはTSVそサポートしてるんじゃないでしょ。
> っていうか「テキストファイルのインポート」だって自分で書いてるじゃんw
正直何を言ってるのかわけわからん w
まあその前にアンカーぐらいまともにつけられるようになれよ
って話だな
1004:デフォルトの名無しさん
16/11/05 11:47:50.74 0A6bFhuE.net
>>966
何が捗るのさ?
1005:デフォルトの名無しさん
16/11/05 11:50:31.98 93kgJ5Ii.net
>>977
1006:arget="_blank">>>962 その答えが恐らく>>963だろうと。 そういう話
1007:デフォルトの名無しさん
16/11/05 11:51:10.92 Bnw8PuKo.net
>>969
設定ファイルをExcelで書きたいからCSVでって言ってくる客は多いから、XLSXで提案すると喜ばれるよね
1008:デフォルトの名無しさん
16/11/05 11:53:37.33 2n9hgzl5.net
CSVと違ってTSVは標準の拡張子がないだけだろ
それを「エクセルはTSVサポートしてない」って・・・www
1009:デフォルトの名無しさん
16/11/05 11:56:50.35 Bnw8PuKo.net
>>973
まあ動きがおかしいと思ったらXLSXの生データを確認するのが手っ取り早いね
1010:デフォルトの名無しさん
16/11/05 11:57:26.23 PXYcOtjJ.net
Open XML SDKってどの程度のことが出来るの?
数式セル、条件付き書式、マクロ、暗号化、PDF変換、画像挿入は対応してる?
1011:デフォルトの名無しさん
16/11/05 12:13:05.59 Qh4Pk2xF.net
いまだに「CSV?カンマで区切りゃいいんだろ?」的な認識の奴が多くて辟易する
1012:デフォルトの名無しさん
16/11/05 12:49:43.04 oE61kQsA.net
カンマで区切るだけだと思うが、、、
理由もなしに辟易するのもなんだよな。
例えば
Parser() : base(null) { }
これが何をいみするのかを調べるには、ある程度のキーワードがあれば検索できる。
baseはここでは特徴的なキーワードだからbaseで検索すればなにか手がかりが掴める
はずだ。
あるいはこの行をコメントアウトしてみるとか、トレースしてみるとかすると何か
手がかりがつかめるかもしれない。
1013:デフォルトの名無しさん
16/11/05 12:54:27.64 Bnw8PuKo.net
>>985
フィールドがダブルコーテーションで囲まれてることも考慮しないと
1014:デフォルトの名無しさん
16/11/05 12:56:50.22 pzDrzyW2.net
>>979
単体で直接読み書きできるのにサポートしてないってどう言うこと?
1015:デフォルトの名無しさん
16/11/05 12:57:59.54 pzDrzyW2.net
>>980
サーバー上で Excel ファイルを生成してダウンロードさせるとかの用途もあるしね
1016:デフォルトの名無しさん
16/11/05 12:58:49.61 Vdk40yXv.net
CSVならCsvHelperをNugetしてくれば解決さ
1017:デフォルトの名無しさん
16/11/05 13:00:04.39 pzDrzyW2.net
>>983
只で試せるんだから自分でやってみなよ
ここはそういう板ですよ
1018:デフォルトの名無しさん
16/11/05 13:02:33.65 pzDrzyW2.net
>>986
ダブルクォーテーションのエスケープはどうするとか、改行はどうするとか、やり出すとキリがないからなぁ
1019:デフォルトの名無しさん
16/11/05 13:13:48.58 93kgJ5Ii.net
>>987
上げ足取る気満々の奴に馬鹿正直に答える俺もどうかしてると思うが、
少なくとも読み込みに関してはサポートしているのは「任意のデリミタ区切りのテキストファイル」
であってTSVじゃない。
それに対してCSVはCSVとして直接扱える。
PCに必ずしも明るいとは限らない俺たちのエンドユーザーに対してどちらがよりフレンドリーか明らか。
っていうか、最初からそんなこと言われなくてもわかってるだろうにくっだらない。
1020:デフォルトの名無しさん
16/11/05 13:43:13.40 PXYcOtjJ.net
レポートファイルでもないのに内部保存形式意識させた時点で負けた気になる
設定変更はアプリ内でやりたい
1021:デフォルトの名無しさん
16/11/05 14:02:37.48 pzDrzyW2.net
>>992
プログラマーなら
> 「任意のデリミタ区切りのテキストファイル」
に TSV が含まれることに異議を唱える奴はそうそういないと思うけどねぇ
どっちが揚げ足とりなんだか w
1022:デフォルトの名無しさん
16/11/05 14:18:37.61 N0pRKuvW.net
DB入力にCSV指定されて軽くハマった覚えあるから出来る限りTSVにしているな
CSVは方言がキツイわ
1023:デフォルトの名無しさん
16/11/05 15:21:23.46 HDT4XNAt.net
いつものことながら、激しくどうでも良いことだなw
1024:デフォルトの名無しさん
16/11/05 16:08:18.72 oE61kQsA.net
push
1025:デフォルトの名無しさん
16/11/05 16:08:54.81 oE61kQsA.net
pop
1026:デフォルトの名無しさん
16/11/05 16:09:17.15 oE61kQsA.net
the
1027:デフォルトの名無しさん
16/11/05 16:11:24.95 oE61kQsA.net
end
sssp://o.8ch.net/irxl.png
1028:過去ログ ★
[過去ログ]
■ このスレッドは過去ログ倉庫に格納されています