問題タブ [autovivification]

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

ruby - 関係を保持したまま、ネストされた要素の頻度を取得する

私はの配列を持っています

  • ショップオブジェクト

    • 都市オブジェクトに属する

      • 都道府県物に属するもの

最後に、都道府県、市区町村、頻度の順にリストされたハッシュを作成したいと思います...

私はこれを思いつきましたが、それは本当にルビーらしくありません..

これを行うには、DRY-er の方法が必要です。

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

ruby - rubyでは、デフォルト値が空の配列のハッシュで配列の追加が失敗するのはなぜですか?

以下のコード例。ハッシュ値に対して append を呼び出すと正しく返されますが、ハッシュ自体は期待どおりに動作しません。

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

javascript - 自動活性化と Javascript

JavaScript では、存在しないインデックスまたはプロパティを指定すると動的に作成されないため、自動有効化は未定義の構造を「デリファレンス」することだけに関係していますか? しかし、これは自動有効化ではないでしょうか?最初に基になる構造をオブジェクトまたは配列として宣言する必要があります。

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

ruby - Ruby ハッシュ初期化子

ハッシュ初期化子:

誰かが別の質問にこれらを投稿しているのを見ましたが、最初のケースで動物が空白に見える理由がわかりません。入力すると

適切な配列を取得します。

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

perl - Perlでは、2次元配列の要素に対して「定義済み」関数を使用する方法は?

Perl の定義済み関数を使用して、要素が定義されているかどうかを確認しようとしています。

コード :

出力

定義済み関数を使用する前は、 の最初の次元に 2 つの要素がありました@myarray定義済み関数を使用すると、要素の数が 3 に増えます。

新しい要素を追加せずに定義済み関数を使用するには?

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

python - Python では、次の AutoVivification クラスはどのように機能しますか?

ネストされた辞書を操作する方法を探しているときに、noskloによって投稿された次のコードを見つけました。説明したいと思います。

テスト:

出力:

私はかなり初心者のプログラマーです。私が知っていることのほとんどは、高校時代にターボ パスカルに関する唯一の正式なトレーニングを受けて、サイドで自分の時間に学びました。__init__、クラス メソッドを使用したり、 を使用してクラスのインスタンス内にデータを保存したりするなど、簡単な方法でクラスを使用できることを理解していfoo.man = 'choo'ます。

一連の角括弧がクラスを介して正しく指示される__getitem__方法がわかりません (何らかの方法で呼び出していると思います)。また、メソッドを個別に 3 回呼び出すことなく、それぞれがどのように簡潔に処理されるかがわかりません。

(dict)クラス宣言の は によって処理されるという印象を受けました__init__

私はtry: except:以前にも、非常に単純な方法で使用しました。tryが実行されると、一連の関数が呼び出されているように見えます__getitem__。現在のレベルの辞書が存在する場合、try はパスして次の辞書に移動することがわかりました。except、私が集めると、 があるときに実行されますが、そのように使用されるのKeyErrorは見たことがありませんself。 のインスタンスSelfだと思っていたのに、辞書のように扱われています...両方ですか?このように 2 回続けて代入したことはありませんが、 が を指しているのに対し、 が の結果を指していると思われます。しかし、次のようなものを返します:selfclass AutoVivificationfoo = man = choovalueself[item]self[item]type(self)type(self)<class '__main__.AutoVivification'>そうじゃない?最後にある余分な丸括弧が何のためにあるのかわかりません。関数がどのように呼び出されているのかわからないため、どこvalueに返されているのかわかりません。

質問ばかりですみません!これには理解できないことがたくさんあり、ドキュメントを何時間も読んでいない限り、どこを調べたらよいかわかりません。このコードは私の目的を果たしているように見えますが、使用する前に理解したいと思います。

ネストされた辞書を使用してプログラムで何をしようとしているのか知りたい場合: 天文学的なスケールで地図データを保持しようとしています。4 回ネストされた 10^6 アイテムの辞書/リスト (つまり 10^24 アイテム) を作成することはできませんが、スペースはほとんど空であるため、空の値を完全に除外して、何かがある場合にのみ割り当てることができます。私を悩ませていたのは、辞書を効率的に処理する方法でした。

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

perl - Perl で非活性化する方法

次のような Perl スクリプトがあるとします。

しかし、私の出力は「c」を自動作成しますが、これは望ましくありません。

また、私のディストリビューションでは、自動有効化を無効にすることはできません。各レベルをチェックするサブルーチンを作成する方法はありますか?

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

javascript - Javascriptオブジェクトの自動生存をサポートするライブラリはありますか?

とにかく、ネイティブまたはライブラリを介して、Javascriptオブジェクトで自動生存を使用することはできますか?

IEfooは、プロパティのないオブジェクトであると想定しfoo.bar.baz = 5、必要ではなく単に実行できるようにしますfoo.bar = {}; foo.bar.baz = 5

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

perl - 自動有効化によって作成されたハッシュには追加のキーがあります

これは私が持っているものです

これは私が得る出力です

私の質問は、本質的に以前に作成されたキーと値のペアの値であるこれらの追加のキーが作成された理由です。

これは私が期待するものです

誰かが私の明らかな間違いを訂正してもらえますか?

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

perl - TIEHASHによるPerlの自動生存

これは、処理するタイハッシュの予想される直感的な動作です$h{a}++

これもネストされたケースを処理することが期待され$h{a}{b}++ますが、その理由も、最も重要なこととして、この動作をオーバーライドする方法もわかりません。

Tie :: CHIをテストしているときに、これに遭遇しました。明らかに複雑なオブジェクトを保存することができます。

また、Perlは、深くネストされた構造から任意のデータを取得できます。

ただし、ネストされた構造内に格納することは、tie()されたハッシュでは機能しません。

Tie :: CHIにパッチを適用して、このケースをより多くのDWIMmeryで処理できますか?そうでない場合、代替手段は何ですか?