問題タブ [idioms]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - 早い段階で学ぶべき Python の重要な言語機能 (イディオム) は何ですか?
StackOverflow コミュニティが何を Python の重要な言語機能 (イディオム) と考えているか知りたいです。プログラマーを Pythonic として定義する機能。
Python (pythonic) イディオム - Python 言語に自然または特徴的な「コード表現」。
さらに、すべての Python プログラマーが早い段階で学ぶべきイディオムはどれですか?
前もって感謝します
関連している:
regex - 現代のプログラミング言語の「正規表現」は本当に「文脈依存文法」ですか?
何年にもわたって、「正規表現」パターン マッチングはますます強力になり、疑問に思うところまで来ました。それは本当に単なる文脈依存文法マッチングなのでしょうか? 文脈自由文法マッチングのバリエーション/拡張ですか? それは今どこにあるのでしょうか?古い制限的な「正規表現」の代わりに、単にそれと呼んでみませんか?
ruby - 一般的な Ruby イディオム
ruby で私が気に入っていることの 1 つは、ほとんどの場合、非常に読みやすい言語であることです (これは、自己文書化コードに最適です)。
しかし、次の質問に触発されて: Ruby Code Explainedと ruby
でどのように||=
機能するかについての説明、私は使用しない Ruby イディオムについて考えていました。
だから私の質問は、参照された質問の例と同様に、真に熟練したRubyプログラマーになるために知っておく必要がある、一般的であるが明白ではないRubyのイディオムは何ですか?
ちなみに参考にした質問より
と同等です
(修正してくれた Ian Terrell に感謝)
編集:この点は完全に議論の余地がないわけではない. 実は正しい展開は
理由については、次のリンクを参照してください。
- http://DABlog.RubyPAL.Com/2008/3/25/a-short-circuit-edge-case/
- http://DABlog.RubyPAL.Com/2008/3/26/short-circuit-post-correction/
- http://ProcNew.Com/ruby-short-circuit-edge-case-response.html
これを指摘してくれた Jörg W Mittag に感謝します。
c++ - C ++ win32マルチスレッドプログラミングにとって重要な一般的なデザインパターンまたは一般的なイディオムはありますか?
1つの例は次のとおりです。RAII-リソース獲得はクリティカルセクションで使用される初期化です
重要で人気があり、よく使うものは他にありますか?
cocoa - カスタムビューはモデルオブジェクトをどのように更新する必要がありますか?
これはCocoan00bの質問です-私は他の環境で何年もGUIアプリケーションをプログラミングしてきましたが、次の些細な状況での「慣用的なCocoa」とは何かを理解したいと思います。
NSView
ユーザーがその中に簡単な形を描くことができる簡単な習慣があります。そのdrawRect
実装は次のようになります。
このコードがいかに単純であるかがわかります。shapes
配列インスタンス変数は、drawRect
メソッドが形状を描画するために使用するモデルとして機能します。ユーザーがマウスダウン/ドラッグ/マウスアップシーケンスを実行するたびに新しいNSRect
が追加されます。これもこのカスタムビューに実装されています。shapes
これが私の質問です:
これが「本物の」Cocoaアプリケーションである場合、カスタムビューがモデルを更新するための慣用的な方法は何でしょうか。
つまり、カスタムビューは、別の図形を図形のリストに追加する必要があることをコントローラーにどのように通知する必要がありますか?現在、ビューはそれ自体NSMutableArray
で形状を追跡します。これは実装の詳細としては問題ありませんが、カスタムビューのパブリックAPIの一部としてこの配列を公開したくありません。さらに、エラーチェック、保存/読み込み、元に戻すコードを、カスタムビュー全体に散らかすのではなく、コントローラーのような一元化された場所に配置したいと思います。他のGUIプログラミング環境での過去の経験では、モデルはコントローラーレイヤーのオブジェクトによって管理され、ビューは通常、モデルを直接更新しません。むしろ、ビューは、何かが発生したとき、イベントをディスパッチすること、またはを呼び出すことによって通信します。コントローラー上のメソッドへの参照があるか、同様に分離されたアプローチを使用します。
私の直感では、慣用的なCocoaコードはdelegate
、カスタムビューのプロパティを公開し、MyDocument
コントローラーオブジェクト(またはドキュメントコントローラーからぶら下がっている別のコントローラーレイヤーオブジェクト)を、xibファイルのデリゲートとしてビューにワイヤリングします。次に、ビューshapeAdded:(NSRect)shape
はデリゲートのようないくつかのメソッドを呼び出すことができます。ただし、これを行う方法は他にもたくさんあるようです。たとえば、コントローラーにモデルオブジェクト(形状のリスト)への参照をカスタムビューに直接渡す(気分が悪い)、ビューに通知をディスパッチさせるなどです。コントローラーがリッスンし(扱いにくいと感じます)、コントローラーがモデルを更新します。
c# - C# で拡張メソッドに "this" パラメーターを指定する場合、どのイディオム (ある場合) を好みますか? また、その理由は何ですか?
C# 拡張メソッドの最初のパラメーターは、拡張メソッドが呼び出されたインスタンスです。私は、その変数を「自己」と呼ぶ慣用句を採用しましたが、他では見ませんでした。他の人がそれを使っていても、私はまったく驚かないでしょう. 次に例を示します。
ただし、次のように、他の人がそのパラメーターに「@this」という名前を付けているのを見始めています。
そして 3 番目のオプションとして、"self" と "@this" は何の情報も与えないと言って、イディオムをまったく好まない人もいます。「self」または「@this」よりも優れた、その目的に固有の明確で意味のあるパラメーターの名前がある場合があることに、私たちは皆同意していると思います。さらに進んで、もっと価値のある名前をいつでも思いつくことができると言う人もいます。したがって、これは別の有効な観点です。
他にどんなイディオムを見たことがありますか? 好きなイディオムとその理由は何ですか?
ruby - Ruby: オブジェクト参照を介して関数を呼び出すにはどうすればよいですか?
この不自然な例を考えてみましょう:
eating_method
ここで、いくつかの引数を指定して のターゲットを呼び出したいと思います:
Rubyでこれを行う正しい方法は何ですか?
ruby - Ruby: シンボルを使用して配列内のものを表すにはどうすればよいですか?
次のような配列の配列があります。
配列の各要素に対して呼び出したいメソッドもあります。
私は本当に次のようなことが言えるようになりたいです:
配列内の各項目を変更せずにこれを実行できる方法はありますか (たとえば、配列を繰り返し処理して何らかの形で記号を追加することにより)。または、それが難しすぎる場合、より良い代替手段はありますか?
scala - Scalaで量をきれいに単位で表現する
単位付きの数量のサポートが必要です。型システムで単位の正確性を可能な限り強化したいと考えています。たとえば、グラムとドルを組み合わせることはできません。パラメーター化された型の道をたどっていますが、このコードは、他の人から見た Scala コードよりもはるかに反復的であるように見えます。
これを行うためのよりクリーンな方法はありますか?「T<:UnitOfMeasure」のドラムビートは、私を悩ませている主なものです。