問題タブ [ruby-hash]
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.
ruby - 複数のクラスを一緒にハッシュ キーとして使用する
3D モデルを計算し、同一の頂点を結合するスクリプトを見つけました。次のロジックがあります。私の理解によれば、頂点は頂点クラスのハッシュ マップです。
一意の a が見つかった場合は、それを配列vertex
に追加します。new_vertices
これを変更して、ハッシュ マップのキーが頂点とマテリアルの組み合わせになるようにします (どちらも、このスクリプトが実行されるソフトウェアである Sketchup のクラスです)。各キーが 1 つではなく 2 つのクラスの組み合わせになるようにするには、これを行う最善の方法は何ですか? 頂点とマテリアルの両方を保持するデュプルまたはクラスのようなものですか? それはハッシュマップでサポートされていますか?
ruby - ハッシュ値と同様に、ハッシュ キーの指定された列挙順序はありますか?
Ruby のドキュメントには、次のような記述がありHash#values
ます。
ハッシュは、対応するキーが挿入された順序で値を列挙します。
これは にも当てはまりますがHash#keys
、文書化されていません。
これは真実であり続ける可能性がありますか?そして、それはすべてのキーセットに当てはまりますか?
ruby - 次のキーと値のペアは、新しいキーでペアを追加しようとしているときに、ハッシュ内の既存のペアを上書きします
私は持っている:
私は手に入れたい:
やった:
私は得る:
一意のキーを持つ新しいキーと値のペアを追加すると、ハッシュ内の既存のペアが上書きされる理由がわかりませんでした。説明の助けをいただければ幸いです。