トップ「Idioms」の質問

プログラミングイディオムは、特定の言語でコードを書くための通常の慣習的な方法です。

__name__ == "__main__"の場合はどうなりますか?

次のコードを考えると、 if __name__ == "__main__":は何をしますか?# Threading example import time, thread def myfunction( […] 続きを読む…

python namespaces main python-module idioms

var functionName = function(){} vs function functionName(){}

最近、他の人のJavaScriptコードの保守を開始しました。 私はバグを修正し、機能を追加し、コードを整理して一貫性を高めようとしています。以前の開発者は関数を宣言する2つの方法を使用しましたが、その背後に理由があるかどうかはわかりません。2つの方法は次のとおりです。var functionOne = function() { // Some code }; function functionTwo() { // Some code } これらの2つの異なる方法を使用する理由は何ですか?また、それぞれの長所と短所は何ですか? 一方の方法では実行でき、もう一方の方法では実行できないことはありますか?

javascript function syntax idioms

Javaでint配列を逆にするにはどうすればよいですか?

Javaでint配列を逆にしようとしています。このメソッドは配列を反転しません。for(int i = 0; i < validData.length; i++) { […] 続きを読む…

java arrays idioms idiomatic

マップのC ++マップをループするにはどうすればよいですか?

C ++でstd::mapをループするにはどうすればよいですか? 私の地図は次のように定義されています:std::map< std::string, std::map& […] 続きを読む…

c++ loops dictionary iteration idioms

最初のアイテムまたはなしを返すPythonイディオム

私には起こらない、これを行うためのより簡単な方法があると確信しています。リストを返す一連のメソッドを呼び出しています。 リストが空の場合があります。 リストが空でない場合は、最初のアイテムを返します。 それ以外の場合は、Noneを返します。 このコードは機能します:my_list = get_list() if len(my_list) > 0: […] 続きを読む…

python idioms python-2.4

辞書内の最小値に対応するキーを取得します

Python辞書を持っている場合、最小値を含むエントリのキーを取得するにはどうすればよいですか?min()関数と何か関係があると思っていました...与えられた入力:{320:1, 321:0, 322:3} 321を返します。

python dictionary min minimum idioms

'for'ループの最後の要素を検出するためのPythonの方法は何ですか?

forループの最後の要素に対して特別な処理を行うための最良の方法(よりコンパクトで「pythonic」な方法)を知りたいのですが。 要素間でのみ呼び出されるべきコードがあり、最後のコードでは抑制されています。これが私が現在それをしている方法です:for i, data in enumerate(data_list): code_ […] 続きを読む…

for-loop python idioms fencepost

Python:Noneを空の文字列に変換する最も慣用的な方法は?

次のことを行うための最も慣用的な方法は何ですか?def xstr(s): if s is None: return '' else: […] 続きを読む…

string python idioms

Groovyとの文字列連結

Groovyで文字列を連結するための最良の(慣用的な)方法は何ですか?オプション1:calculateAccountNumber(bank, branch, checkDigit, account) { bank + branch + checkDigit + account } オプション2: […] 続きを読む…

string groovy idioms string-concatenation gstring

C ++でファクトリメソッドパターンを正しく実装する方法

C ++には、単純に聞こえますが、正直なところ、その方法がわからないため、かなり長い間不快に感じていることが1つあります。C ++でファクトリメソッドを正しく実装するにはどうすればよいですか?目標:クライアントが、オブジェクトのコンストラクターの代わりにファクトリメソッドを使用して、許容できない結果やパフォーマンスへの影響を与えることなく、一部のオブジェクトをインスタンス化できるようにすること。「ファクトリメソッドパターン」とは、オブジェクト内の静的ファクトリメソッド、別のクラスで定義されたメソッド、またはグローバル関数の両方を意味します。 ちょうど一般的には、「クラスXのインスタンス化の通常の方法をコンストラクター以外の場所にリダイレクトするという概念」です。私が考えたいくつかの可能な答えをざっと見てみましょう。0)工場を作るのではなく、コンストラクターを作る。これは素晴らしいように聞こえますが(実際、多くの場合、最良の解決策です)、一般的な解決策ではありません。 まず、オブジェクトの構築が、別のクラスへの抽出を正当化するのに十分なほど複雑なタスクである場合があります。 しかし、その事実はさておき、コンストラクターだけを使用する単純なオブジェクトであっても、多くの場合、機能しません。私が知っている最も簡単な例は、2次元のVectorクラスです。 とてもシンプルですが、トリッキーです。 デカルト座標と極座標の両方から構築できるようにしたいと思います。 明らかに、私はできません:struct Vec2 { Vec2(float x, float […] 続きを読む…

c++ design-patterns idioms factory-method