問題タブ [self]
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.
php - $ this-> function()と$ this-> variable(PHP)があるのに、なぜself :: function()と$self->variableまたはself::$ variableなのですか?
これらの2つのキーワードと、PHP5での使用方法について混乱しています。「this」はインスタンス化されたオブジェクト(静的ではない)に使用され、「self」はオブジェクトのインスタンスではなくオブジェクト自体を参照しているため、静的オブジェクト内で使用されていると思います。右?
ここで、クラスの静的メソッド内で別の静的変数/メソッドを呼び出すための正しい使用法は次のとおりです。
それは本当だ?
ただし、次のことも可能であるようです。
それでも、$testVarは静的です。何故ですか?
また、なぜ$が自己の前で使用されることもあれば、使用されないこともあり、「this」キーワードについても同じ質問がありますか?
ruby - self = Rubyの子孫?
ゲームのテキストログがあり、(たとえば)2種類のエントリがあります。チャットとイベント。ほとんどの場合、それらは非常に似ているので、LogEntryクラスをそのように定義しています。
LogChatとLogEventはどちらもLogEntryを拡張し、ドメインに関連するさらなる処理を行います。すべてが期待どおりに機能します。
質問: クラスメソッドLogEntry.parseは、基本的に、適切なクラスの解析済みエントリを返します。このコンテキストでは、解析されたエントリが重要なビットです。ただし、インスタンスメソッドの名前を「parse」から「what_type_should_i_be?」に変更することはできます。オブジェクトがその情報に基づいて動作し、「self.become LogEntry.parse(self)」が必要です。
今、エントリを解析するには、これを行う必要があります。
これをさらに推し進めて、同じ結果が得られるようにします。
私は明白なことを試みました。
それでもエラーが発生しますCan't change the value of self
。誰かが私がこれを達成するためにどのように行くべきか知っていますか?
編集: 多くの回答が多くのエントリの反復に焦点を合わせていたため、例を変更しました。チャックの答えは、この状況が問題ではないことをエレガントに示しています。
これが誰かの興味をそそる場合に備えて、私はあなたが`self.class'に干渉しようとするEvilRubyに出くわしました。あなたの魂を飲み込むRubyコードと呼ばれるそれについての素晴らしいOriellyの記事があります! 私はそれが何か答えを提供するかどうかを調べるためにそれを調べています。(編集:evil.rbはよく名付けられています!低レベルでは安定した/長期的な配布には適していないようです。)
tsql - 自己参照 (ID) しているテーブルからの親子ビュー? (tsql 専門家向け)
以下に示す構造の組織名テーブルがあります。
要件は、各組織単位の完全なパスを提供するビューを作成する必要があることです。
データが次のようになる必要があります
これをレポートの基準フォームに直接取り込み、1 つの組み合わせからサブ部門を選択できるようにしたいと考えています。TSQL(ms sql 2005)からこれを取得するにはどうすればよいですか。解決策を事前に感謝します。
解決策 1:
iphone - self.delegate = 自己; それをして何が悪いのですか?
self.delegate = self;
それをして何が悪いのですか?それを行う正しい方法は何ですか?
ありがとう、ニル。
コード:
注: これはテキスト フィールドです。デリゲートを別のオブジェクト (self.delegate = mainView) に設定すると、すべて正常に動作しますが、mainView にデリゲート メソッドを実装する必要があり、それらを配置したいと考えています。 self (私が作成した uiTextField クラス)。self.delegate = self を設定している場合、textField は取得できますが、キーボードが表示されません。
python - Pythonでの「self」および「__init__」式の意味は何ですか?
self
これらが何に使われているのか、特に議論がわかりませんか?これを私に説明してもらえますか、そしてなぜあなたはこれを渡したいのですか?
また、私はいつも__init__
「初期化」のためだと思っていましたが、これまでここに何も入れる必要がなかったとは思いもしませんでした。誰かが私に簡単な例を教えてもらえますか?
self
編集:関数などに渡されるのを見るたびに、私はとても混乱します。
iphone - UIViewControllerはpresentModalViewControllerに応答しません
UITableViewController-Classがあります。UITableViewControllerクラスをUIVIewControllerに変更し、新しいIBで接続を作成して指定しました。[self presentModalViewController:.....]
コンパイラが自分自身が「自分」に応答しないと言って、ビューを回転するとアプリがクラッシュすることを除いて、すべてが正常に機能します。
ご協力いただきありがとうございます :)
解決策:両方のビューで「shouldAutorotateToInterfaceOrientation」メソッドを設定していません。
wpf - WPFはそれ自体にバインドします
WPFWindow
があり、どこかListView
にバインドする場所がありList<string>
ます。
今、私のどこかにListView
がTextBox
あり、Content
プロパティはに設定されてい{Binding}
ます。
しかし、これは省略形です。自分自身にバインドするための完全なバインディングを作成するにはどうすればよいですか?
{Binding Path=Self}
動作しません。動作しません{Binding Self}
(後者は前者のショートカットです)。
iphone - 「self」とは何ですか?「view」プロパティはどのように使用されましたか?
これで:
UIButtonはこの「buttonClick」IBActionにリンクされますが、「self」とは何ですか?
python - Pythonで明示的な「自己」を避ける方法は?
私はいくつかのpygame チュートリアルに従って Python を学んでいます。
その中で、キーワードselfが広範囲に使用されていることを発見しました。また、主に Java のバックグラウンドを持っているため、 selfと入力するのを忘れ続けていることがわかりました。たとえば、代わりにself.rect.centerx
と入力rect.centerx
します。なぜなら、私にとって、rectは既にクラスのメンバー変数だからです。
この状況で私が考えることができる Java の類似点は、メンバー変数へのすべての参照の前に this を付けなければならないことです。
すべてのメンバー変数にselfのプレフィックスを付けて立ち往生していますか、またはそれらを宣言する必要がないようにする方法はありますか?
私が提案しているのはpythonicではなくても、それが可能かどうか知りたいです。
私はこれらの関連するSOの質問を見てきましたが、私が求めていることに完全には答えていません:
python - メソッドデコレータが自己を置き換えるときに予想される副作用は何ですか?
self
実行中に渡された元のコピーを使用してメソッドを実行したい。
これが私が話しているコードです:
私の理解では、コピー機能は同じタイプの新しいオブジェクトを作成し__dict__
、古いオブジェクトを新しいオブジェクトにコピーします(参照を使用するため、実際のオブジェクトインスタンスへの変更__dict__
は元のオブジェクトに影響を与えます)。
__dict__
これは、装飾されたメソッドが元のインスタンスを変更できないことを確信できるということですか?
念のため: 安全なサンドボックスの動作は必要ありません。私の目的は、ファクトリとして使用する単一のオブジェクトをインスタンス化することです。保護されたメソッド
は、渡されたものを変更できる必要がありself
ますが、後でリセットする必要があります。