問題タブ [object-identity]

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 投票する
1 に答える
537 参照

python - Python が空のリストの新しいリスト オブジェクトを作成するのはいつですか?

以下は私にとって理にかなっています:

[]リストが変更可能であることを考えると、式に現れるたびに新しい空のリスト オブジェクトになることが予想されます。しかし、この説明を使用すると、次のことに驚かされます。

なんで?説明は何ですか?

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

python - Python (2.7) では、os.remove が os.unlink と同一でないのはなぜですか?

何故ですか?os.unlink は os.remove のエイリアスではないでしょうか?

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

javascript - 配列で QUnit.deepEqual() を使用する場合は、オブジェクト ID を使用します

状況は次のとおりです。オブジェクトの配列を返す関数をテストしたいと思います。オブジェクトには列挙可能なプロパティはありませんが、共通のキャッシュ/ストアから取得されます。

私のテストケースでは、返された配列の内容が正しいかどうかをテストしたいと思います。だから私はそれdeepEqual()が使用する関数になると思いましたが、テストは実際にこれを返します(テストケースを少し減らしました):

テストケースのフィドル

(私もテストpropEqual()して、それがここで機能するかどうかを確認しました。)

したがって、QUnit は 2 つのオブジェクトを異なるものとして認識しますが (最初のテストを参照)、配列を使用するとすぐに違いを認識できません。

だから私は少し遊んで、オブジェクトに列挙可能なプロパティがあり、両方のインスタンスが異なるとすぐに、QUnit はそれを認識します: Changed Fiddle

これを使用して列挙可能なプロパティが同じ値に設定されている場合、興味深いことに:

プロパティがない場合 ( Fiddle )と同じ動作が見られます。

したがって、上記の例を念頭に置いて、

配列の内容をチェックするために QUnit に 2 つのオブジェクトを ID で比較させるにはどうすればよいですか?

ここで@Ilyaとの議論に従って、実際の質問の言い換え:

1つのレベルだけを使用するにはどうすれdeepEqual()ばよいですか?つまり、指定された配列のすべての要素をオブジェクトIDで比較する必要がありますか?

PS:単純な解決策は、配列内の要素ごとに比較することであることは知っていますが、より高速な方法があるはずです。

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

ruby - String#replace のようないくつかの Ruby メソッドが変数のコピーを変更するのはなぜですか?

まず最初に、私は Ruby を学んでおり、JavaScript のバックグラウンドを持っています。答えが見つからない問題があります。私はこの例を持っています:

青い

私の質問は次のとおりです。なぜこれが問題なのですか?b = a設定によってそれらが同じobject_idになることを理解しているため、技術的には同じ変数文字列に2つの名前があります。しかし、この種の再帰的な値の変更を使用する理由は見当たりません。設定するのは、 ab = aの値を変更せずに操作したいからです。

さらに、メソッドが a を変更するように見えることもありますが、「b」が新しいオブジェクトになることもあります。これはあいまいで、意味がありません。

いつこれを使用しますか?ポイントは?これは、 a に変更が反映されない限り、 aの値を別の変数に渡すことができないということですか?

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

python - Pythonのオブジェクト名の最初の文字セットまたは単語を無視するための正規表現

" :NYSE Con​​nect_LCAppendedButton " は、変化し続けるアプリケーション内のオブジェクト名です。_LCAppendedButton の前の一連の単語は、アプリケーションのニーズに応じて変化し続けます。「NYSE Con​​nect」という一連の単語を無視するか、正規表現に置き換えるにはどうすればよいでしょうか? 助けてください

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

python - エラー: 引数 -s/--source が必要です

このコードを Github からコピーしましたが、うまくいきません。

サンプルコード:

そしてこの出力

私を助けてください。ありがとう