問題タブ [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.

0 投票する
6 に答える
1679 参照

python - Python とメソッドでの「self」の使用

私が読んだ/理解していることから、「self」パラメーターは「this」に似ています。

本当?

オプションの場合、self がメソッドに渡されなかったらどうしますか?

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

ruby - Rubyクラスの質問

重複の可能性:
クラス<<Rubyの自己イディオム

Rubyについて簡単に質問します。私はJava/cのバックグラウンドを持っているので、Rubyでは、インスタンスメソッド内で参照される「self」が「this」のように機能することを理解しています。そして「自己」。メソッドのプレフィックスは、クラスメソッドとして定義します。

しかし、これはここでどういう意味ですか?

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

python - Forgetting self qualifier: how to catch this mistake?

I understand why Python requires explicit self qualifier when referring to instance attributes.

But I often forget it, since I didn't need it in C++.

The bug I introduce this way is sometimes extremely hard to catch; e.g., suppose I write

instead of

Suppose attribute x is usually None, so f() is rarely called. And suppose f() only creates a subtle side effect (e.g., a change in a numeric value, or clearing the cache, etc.). Unless I have insane amount of unit tests, this mistake is likely to remain unnoticed for a long time.

I am wondering if anyone knows coding techniques or IDE features that could help me catch or avoid this type of bug.

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

python - 明示的に受け入れずにPythonメソッドに自己を取得する方法

私はドキュメント テスト フレームワークを開発しています。基本的には、PDF の単体テストです。テストは、フレームワークによって定義されたクラスのインスタンスの (装飾された) メソッドであり、これらは実行時に配置およびインスタンス化され、テストを実行するためにメソッドが呼び出されます。

私の目標は、テストを作成する人々が心配する必要がある風変わりな Python 構文の量を削減することです。これらの人々は Python プログラマーである場合もそうでない場合もあり、まったくプログラマーである場合もあります。したがって、メソッドに対して「def foo(self):」の代わりに「def foo():」を記述できるようにしたいと考えていますが、「self」を使用してメンバーにアクセスできるようにしたいと考えています。

通常のプログラムでは、これはひどい考えだと思いますが、このようなドメイン固有言語の種類のプログラムでは、試してみる価値があるようです。

デコレータを使用してメソッド シグネチャから self を削除することに成功しました (実際には、テスト ケースに既にデコレータを使用しているため、デコレータにロールインするだけです)。テストケースメソッド。

私は自分自身にグローバルを使用することを検討し、多かれ少なかれ機能する実装を考え出しましたが、可能な限り最小の名前空間を汚染したいので、変数をテストケースメソッドのローカルに直接挿入することを好みます名前空間。何かご意見は?

0 投票する
2 に答える
425 参照

mysql - MySQLで同様の関心を数える方法

'interests'と'users_interests'の2つのテーブルがあります。

'users_interests'にはフィールドがuseridありinterestidます。'インタレストにはとがありidますname

共通のインタレストIDが3つ以上あるユーザーIDを見つける必要があります。セルフジョインが関係していると言われましたが、うまくいかないようです。

誰かがこのようなことがうまくいくかもしれないと言いました:

しかし、私はそれで運がありません。

0 投票する
2 に答える
2256 参照

java - JDOM を使用して自己終了タグを作成するにはどうすればよいですか

以下のような自己終了xmlタグを作成する関数をJdom apiで見つけることができました<selfClosingTag />

たとえば、次のコンテンツを作成する必要があります。

誰か教えてください。この種の自己終了タグは mathml ドキュメントで必要とされるため、これを行うべきではないことを教えてください。

ありがとう、チェプカ

0 投票する
3 に答える
5457 参照

objective-c - [[self class]alloc]の代わりに[ClassNamealloc]を使用するのはなぜですか?

私はMacでMarkDalrympleのLearnObjective-Cを読んでいて(プロトコルの章だけなので、まだ比較的新しいです)、何かを理解しようとしています:

なぜクラスを独自の名前で参照するのでしょうか。もし私がというクラスを持っていたらFoo、なぜ私はこう書きたいと思うでしょう、

ではなく

私がサブクラスのバーを持っていた場合、最初のオプションは私が書くことを無効にしませんか?

2番目のオプションはそれを許可しますか?最初のオプションはいつより良いでしょうか?

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

python - Python-クラス内のTimeit

クラスのインスタンス内から関数のタイミングをとるのに本当に問題があります。私はそれを正しい方法で行っているかどうかはわかりません(以前はtimeItを使用したことがありません)。2番目の引数のいくつかのバリエーションをインポートして試しましたが、運がありませんでした。これが私がしていることのばかげた例です:

走ったとき、それは自己について不平を言います。

これは、TimeItが関数を実行するための小さな仮想環境を作成することと関係がありますが、すべてを幸せにするために2番目の引数に何を渡す必要がありますか?

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

php - PHP - セルフフォーム送信: $_SERVER['PHP_SELF'] OR action=""?

いくつかの奇妙な状況で、アクションフォーム属性で PHP_SELF を参照せずに、自己送信と思われることを行っていたことに気付きました。

私は困惑しています、私たちはどちらかを使用できますか

または

?

そうでない場合、どのような状況で1つまたは別のものを検討する必要がありますか?

前もってありがとう、MEM

0 投票する
2 に答える
952 参照

javascript - Javascript は明示的な自己/ウィンドウ オブジェクトを使用してパフォーマンスを向上させます

スクリプトの効率を向上させるために、暗黙的なウィンドウ参照を明示的にするために使用できることをMSDNで読みました。self

  1. これが本当かどうか知っていますか?これは基本的に、たとえば呼び出しが以前にオブジェクトなしself.locationで単純に呼び出すよりも効率的であることを意味しますか?locationwindow

  2. MSDN テキストはではselfなくを参照しているためwindow、このパフォーマンスの向上は を使用した場合にのみ発生しselfますか? ここ によるwindowselfwindow.selfは同じものなので、何を使っても問題ないはずです。

  3. さらに、MSDNの呼び出しで述べられていることに従うと、呼び出しwindow.selfよりも何らかの形でパフォーマンスが向上するはずselfです。これは、最後の呼び出しがプロパティであるwindowため、呼び出しによってwindow.self明示的な参照を使用するためです。

ありがとう