hash2의 값과 hash2의 값의 교차점을 만들려고합니다. 그 값이 같은 키를 공유한다면. 지금까지 제 코드가 있습니다. 나는 두 개의 해시 -> data와 data1을 생성 할 수있다. 두 개의 키 값이 같은 경우, 두 개의 별도 해시 키가 같은 경우 교차점을 만듭니다. Ruby
#!/usr/bin/env ruby
require 'pp'
require 'set'
data = {}
File.read(ARGV[0]).each do |l|
l.chomp!
key, value1, value2, value3, value4, value5, value6, value7, value8, value9, value10, value11, value12 = l.split(/\s+/)
data[key] ||= {}
values = [value1, value2, value3, value4, value5, value6, value7, value8, value9, value10, value11, value12]
data[key] = values.compact!
end
data1 = {}
File.read(ARGV[1]).each do |l|
l.chomp!
value = l.split(/\s+/)
data1[value[0]] ||= {}
data1[value[0]] = [value]
end
그래서, 내 주요 목표는 달리 hash1에서 해당 값을 제거, 또한 hash2에서 그 동일한 키의 존재 만 값을 유지, hash1에서 각 키입니다. 나는 Hash1에 존재하지 않는 Hash2에 존재하는 어떤 키들에 대해서도 염려하지 않는다.
"&"과 "set"을 사용하여 배열을 교차시킬 수 있다는 것을 알고 있습니다 만, 지금까지 스크립트에서이를 수행 할 수 없었습니다.
조언이 도움이 될 것입니다. 감사.
테오의 경우 :
예. [k, l, m, n, o], delta : [p, b, c, d, e] , R]}
hash2 {알파 [A, C, Q, Z, 브라보 : Z, X, 찰리 : K, L, M, N]}
따라서 교차 이런 식으로 보일거야.
hash3 {알파 [A, C, 브라보 [닐, 찰리 : K, L, M, N]} 두 해시 일반 교차로
hash2에없는 hash1의 키는 어떻게됩니까? –
원하는 내용을 쉽게 해독 할 수 없습니다. 두 개의 해시가 어떻게 보이고 어떤 것을 얻고 싶은지에 대한 간단한 예제를 제공 할 수 있습니까? – Theo
예, 그 가능성을 포함하는 것을 잊었습니다. 이 경우 hash1의 키를 제거해야합니다. – user511038