hypergraphを実装しようとしています。私はハッシュのキーとして(フリーズした)セットを使用したいと思います。私は次のようなことやそれに似たものをしたいと思います。値のリスト/セット/配列をハッシュキーとして使用する
set_a = Set.new(["a","b","c"])
set_b = Set.new(["a","b","d"])
set_c = Set.new(["a","b"])
set_d = Set.new(["a","b","e","f"])
set_a.freeze
set_b.freeze
set_c.freeze
set_d.freeze
data = {
set_a => [list of vertices],
set_b.freeze => [list of vertices],
set_c.freeze => [list of vertices],
set_d.freeze => [list of vertices]
}
しかし、それほどうまくいきません。行うこと:
data[some_set.freeze]
エラーの原因と思われます。
'( "A"、 "B"、 "C")' Rubyで有効なデータ構造ではありません。
Set
であなたの実装は、次のようになります。あなたは何を使いたいですか( 'Array'、' Set')? – spickermannあなたの質問は何ですか? – sawa
'(" a "、" b "、" c ")'についての公正点は、実行可能コードよりも多くの例として提供されています。ただし、タプル(python)は単なる不変のリストです。私は、一意性/注文/標準化の懸念に対処することを避けることを念頭に置いていました。実際にはリテラルではなく、ここで変数を使用しました。 – Nuclearman