問題タブ [init]

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.

0 投票する
5 に答える
14385 参照

python - メタクラスを定義するときに__init__ではなく__new__を選択する理由はありますか?

私はいつも次のようなメタクラスを設定してきました。

しかし、私はちょうどこのように定義されたメタクラスに出くわしました:

どちらか一方を優先する理由はありますか?

更新:メタクラスでの__new__使用について質問していることを覚えておいてください。__init__私はすでに別のクラスでそれらの違いを理解しています。しかし、メタクラスでは、メタクラスでのクラスの作成時にのみ呼び出される__new__ため、キャッシュの実装には使用できません。__new__

0 投票する
1 に答える
2882 参照

python - __init__からプロパティセッターを呼び出すにはどうすればよいですか

私は次のPythonコードのチャンクを持っています:

これにより、理論的にはパスワードのSHA1が出力されますが、コンストラクターからself.passwordを設定すると、定義されたプロパティが無視され、値が「password1」に設定されます。次に、「password1」の値がprintステートメントによって読み取られます。

これは、インスタンスではなくクラスで定義されているパスワードに起因することはわかっていますが、正しく表現する方法がわからないため、機能します。どんな助けでもいただければ幸いです。

0 投票する
4 に答える
13447 参照

iphone - Objective-Cのカスタムinitメソッド、再帰を避ける方法は?

常に同じルート コントローラーで始まる UINavigationController のサブクラスを作成したいと考えています。特別なことは何もないので、(私にとって)次のように init メソッドをオーバーライドすることは完全に理にかなっています。

[super initWithRootViewController] は [UINavigationController init] を呼び出すため、これは明らかに問題を引き起こします。これはもちろんオーバーライドされた init メソッドであるため、無限再帰が発生します。

「initCustom」のような別の名前の init メソッドを作成したくありません。

現在、思いつく解決策は 1 つしかありませんが、この種のハックは本当に嫌いです。

私の質問は次のとおりです。これを処理するより良い方法はありますか? 非常に明白な何かが欠けていると確信していますが、それはわかりません。

編集:以下の私のコメントの1つに見られるように、私がこれをやりたい理由:

常に特定のビュー コントローラーで始まるナビゲーション コントローラーを作成したいと考えています。これをクラスの消費者から隠したい。公開する必要のないものを公開する必要はありません。生活がずっと楽になり、コードがずっときれいになります (カプセル化が発明された理由の 1 つですよね?)

0 投票する
1 に答える
1774 参照

fedora - initはゾンビ/defunctプロセスを刈り取ることはありません

カーネル2.6.18を搭載したFedoraCore9 Webサーバーでは、initはゾンビプロセスを取得していません。これは、プロセステーブルが最終的に上限に達し、新しいプロセスを割り当てることができない場合には耐えられます。

のサンプル出力ps -el | grep 'Z'

これはOSのバグですか?設定ミス?この問題の原因についてのインスピレーションを探しています。ありがとう

0 投票する
1 に答える
20485 参照

jquery - jqueryinit関数

シンプルなUIウィジェットを入手し、「helloworld!!!」をalert()したいと思います。初期化されたとき。

このinitまたは_init関数がどのように機能するかを誰かが説明できますか?ダイアログUIと同じようにUIを呼び出す$('#selector').dialog() 場合、つまりクリック<div onclick="$('#id').myWidget()">Click Me</div>するとアラートがポップアップ表示されます。

このコードは、多くのコーディングを入れたくなかったので短いので、読みやすくなっています。ありがとう

0 投票する
5 に答える
21063 参照

python - サブクラス化dict:dict .__ init __()を呼び出す必要がありますか?

これは、理論的な部分と実際的な部分の2つの質問です。

dictをサブクラス化する場合:

dict.__init__(self)「安全」対策と同じように(たとえば、重要な実装の詳細が重要な場合に)呼び出す必要がありますか?呼び出されdict.__init__()ない場合、Pythonの将来のバージョンでコードが破損するリスクはありますか?私はここで、どちらか一方を行う根本的な理由を探しています(実際には、電話dict.__init__()は安全です)。

私の推測では、ImageDB.__init__(self, directory)が呼び出されたとき、selfはすでに新しい空のdictオブジェクトであり、したがって呼び出す必要はありませんdict.__init__(最初はdictを空にしたいです)。これは正しいです?

編集

上記の基本的な質問の背後にあるより実用的な質問は次のとおりです。私は(常にdb.contents […]を実行する代わりに)db […]構文を頻繁に使用するため、dictをサブクラス化することを考えていました。オブジェクトの唯一のデータ(属性)は、実際には実際にはdictです。get_image_by_name()データベースにいくつかのメソッド(たとえば、、、など)を追加し、get_image_by_code()をオーバーライドするだけにします__init__()。これは、イメージデータベースがそれを含むディレクトリによって定義されているためです。

要約すると、(実用的な)質問は次のようになります。初期化が異なり(ディレクトリ名のみを使用する)、追加のメソッドがあることを除いて、辞書のように動作するものの適切な実装は何ですか?

「工場」は多くの回答で言及されました。つまり、すべてを要約すると、dictをサブクラス化し、メソッドをオーバーライド__init__()して追加しますか、それとも、メソッドを追加するdictを返す(ファクトリ)関数を記述しますか?ファクトリ関数は、追加のセマンティクスとメソッドがあることをタイプが示さないオブジェクトを返すため、最初のソリューションを好む傾向がありますが、どう思いますか?

編集2

新しいクラスが「辞書ではない」場合、特にその__init__メソッドがdictと同じ引数を取ることができない__init__場合(「実用的な質問」の場合)、 dictをサブクラス化することはお勧めできません。その上)。言い換えれば、私が正しく理解していれば、コンセンサスは次のように思われます。サブクラス化する場合、すべてのメソッド(初期化を含む)は基本クラスのメソッドと同じシグネチャを持っている必要があります。これにより、isinstance(subclass_instance、dict)は、たとえば、のsubclass_instance.__init__()ように使用できることを保証できます。dict.__init__()

次に、別の実用的な質問が表示されます。初期化メソッドを除いて、dictと同じようなクラスをどのように実装する必要がありますか?サブクラス化せずに?これには、面倒なボイラープレートコードが必要になりますね。

0 投票する
1 に答える
37226 参照

c# - アプリケーションの開始時にフォーカスを取得するコントロールを設定する方法

C# Windows フォーム アプリケーションの場合、アプリケーションの起動時に特定のコントロールに既定のフォーカスを設定するにはどうすればよいですか?

0 投票する
8 に答える
33445 参照

guice - オブジェクトをインスタンス化した後、initメソッドを呼び出す

指定されたタイプのオブジェクトをインスタンス化した後、Guiceに何らかのメソッド(つまりinit())を呼び出すように指示することは可能ですか?

EJB 3(およびSpring)の@PostConstructアノテーションに似た機能を探しています。

0 投票する
4 に答える
6502 参照

haskell - Learning Haskell: How to implement my own version of init function

As part of learning Haskell, I am trying to implement my own version of various functions associated with Lists. Right now I am stuck on the init function. init function in Haskell returns all the elements in a List other than the last element.

Here is what I have done so far.

0 投票する
1 に答える
3172 参照

iphone - 追加データを使用して iPhone を初期化する UIViewController

UINavigationController スタックにプッシュされるカスタム UIViewController サブクラスがあります。初期化/プッシュ時に独自のデータを追加したい。するべきか

a) このように、データを引数としてカスタム init メソッドを作成しますか?

MyCustomViewControllerSubclass.m:

またはb)カスタムデータを保存するビューコントローラーにプロパティを追加し、初期化後に追加しますか?

これらのアプローチのいずれかに利点/欠点がありますか、またはこれを行う別の方法はありますか?

返信とても嬉しいです!