최고의 루비 해시 (해시) 튜토리얼 2024년, 이 튜토리얼에서는 해시 만들기,내장 방법을 해시,를 배울 수 있습니다.
해시 (해시) 키 - 값 쌍의 같은 컬렉션의 => "값"은 "키"와 유사하다. 해시 배열과 유사하지만,이 인덱스 번호의 사용에 한정되지 않는다.
해시 인덱스 (또는 "키")는 거의 모든 객체가 될 수 있습니다.
해시 배열과 유사하지만, 그러나 매우 중요한 차이점이있다 : 해시 요소가 특정의 순서이다. 순서가 중요 경우에, 당신은 배열을 사용해야합니다.
배열처럼 다양한 방법은 해시를 생성한다. 당신은새로운클래스 메소드를 통해 빈 해시를 생성 할 수 있습니다 :
months = Hash.new
당신은 또한 사용할 수있는새로운해시가 기본 해시 값없이, 기본 값으로 작성된다전무하다 :
months = Hash.new( "month" ) 或 months = Hash.new "month"
키 또는 값이 존재하지 않는 경우, 임의의 키를 기본 값으로 해시에 액세스 할 때, 기본 액세스 해시 값으로 반환합니다 :
#!/usr/bin/ruby months = Hash.new( "month" ) puts "#{months[0]}" puts "#{months[72]}"
위의 예제 출력은 실행
month month
#!/usr/bin/ruby H = Hash["a" => 100, "b" => 200] puts "#{H['a']}" puts "#{H['b']}"
위의 예제 출력은 실행
100 200
사용자는 키 또는 임의의 값으로 루비 객체를 사용하거나, 예를 나타낸 바와 같이, 어레이를 사용할 수있다 :
[1,"jan"] => "January"
당신이 해시 메서드를 호출해야하는 경우, 당신은 해시 개체를 인스턴스화해야합니다. 다음은 해시 객체의 인스턴스를 생성하는 방법은 다음과 같습니다
Hash[[key =>|, value]* ] or Hash.new [or] Hash.new(obj) [or] Hash.new { |hash, key| block }
이 새로운 해시 가득 지정된 객체를 반환합니다. 이제 개체를 생성하여, 우리는 가능한 방법 중 하나를 호출 할 수 있습니다. 예를 들면 :
#!/usr/bin/ruby $, = ", " months = Hash.new( "month" ) months = {"1" => "January", "2" => "February"} keys = months.keys puts "#{keys}"
위의 예제 출력은 실행
["1", "2"]
다음은 일반적인 해시 방법(해시해시 개체를 가정)입니다 :
아니오. | 방법 및 설명 |
---|---|
(1) | 해시 == other_hash 두 키 - 값 쌍들의 수가 두 해시 값이 같은지 여부를 결정하기 위해 서로 일치 대해 동일한 해시 키 값이 있는지 여부를 확인한다. |
이 | 해시. [키] 해시에서 키 참조 값을 사용합니다. 키가 발견되지 않은 경우, 디폴트 값으로 반환한다. |
3 | 해시. [키] 값을 = 이값은주어진 키와 관련된키의값을 지정. |
4 | hash.clear 해시에서 모든 키를 제거합니다. |
(5) | hash.default (키 = 전무) 기본적으로 설정되어 있지 않은 경우 =전무를반환해시의기본 값을 돌려줍니다. (키해시에존재하지 않는경우,[] 디폴트 값을 반환한다.) |
6 | hash.default = OBJ 해시에대한 기본 값을설정합니다. |
(7) | hash.default_proc 해시가블록으로 만든 경우, 블록이 돌아왔다. |
8 | hash.delete (키) [또는] array.delete (키) {| 키 | 블록} 키쌍에 의해해시 키에서제거합니다. 이 블록 및 매칭 키 - 값 쌍을 발견하지 않은 경우, 블록의 결과를 반환한다.delete_if와 비교. |
9 | hash.delete_if {| 키, 값 | 블록 } 블록의 각 블록은,해시의키를 삭제 것이사실이다. |
(10) | hash.each {| 키, 값 | 블록 } 각키블록에 대해 한 번씩 호출해시,트래버스, 2 요소의 배열과 키 - 값을 전달합니다. |
(11) | hash.each_key {| 키 | 블록} 각키블록에 대해 한 번씩 호출해시,트래버스, 매개 변수로키전달합니다. |
(12) | hash.each_key {| key_value_array | 블록} 각키블록에 대해 한 번씩 호출해시,트래버스, 인수로키와값을 전달합니다. |
(13) | hash.each_value {| 값 | 블록} 각키블록에 대해 한 번씩 호출해시,트래버스, 매개 변수값으로 전달. |
(14) | hash.empty? 해시 (키 - 값 쌍을 포함하지 않는) 비어,true또는false를반환 여부를확인합니다. |
(15) | hash.fetch (키 [기본]) [또는] hash.fetch (키) {| 키 | 블록} 주어진키를통해해시의반환값.키를 찾을수없는,추가 매개 변수를 제공하지 않은 경우,IndexError 예외를기본적 주어진다면,기본을반환 옵션 블록, 블록 결과가 반환되는 경우. |
(16) | hash.has_key? (키) [또는] hash.include? (키) [또는] hash.key? (키) [또는] hash.member? (키) 지정된키가해시에있는 경우,true또는false를반환확인합니다. |
(17) | hash.has_value? (값) 해시가 주어진값이들어 있는지여부를 확인합니다. |
(18) | hash.index (값) 해시키의주어진값에대한반환,일치하는 항목이없는 경우은nil을 반환. |
(19) | hash.indexes (키) 그것은 주어진 주요 구성 요소의 값에 의해 새로운 배열을 반환합니다. 기본 값을 삽입 할 수있는 키를 찾을 수 없습니다. 이 방법은 사용되지 않습니다, 선택을 사용하십시오. |
(20) | hash.indices (키) 그것은 주어진 주요 구성 요소의 값에 의해 새로운 배열을 반환합니다. 기본 값을 삽입 할 수있는 키를 찾을 수 없습니다. 이 방법은 사용되지 않습니다, 선택을 사용하십시오. |
(21) | hash.inspect 다시 인쇄 버전 문자열의 해시. |
(22) | hash.invert 키와값의 새로운해시,해시 반전을만듭니다.다시 말해서, 새로운해시,해시 값을 키가되고, 값이 키가 될 것이다. |
(23) | hash.keys 해시키를 사용하여 새 배열을 만듭니다. / TD> |
(24) | hash.length 그것은 정수해시크기 나 길이를 반환합니다. |
(25) | (other_hash) hash.merge [나] hash.merge (other_hash) {| 키 인 oldval, 된 newval | 블록} 새로운 해시를 돌려줍니다해시콘텐츠를 포함하고 중복 키 쌍other_hash와키 해시를 다시 작성other_hash. |
(26) | ! hash.merge (other_hash) [또는] hash.merge (other_hash)! {| 키 , 인 oldval, 된 newval | 블록} 그리고 같은 병합, 실제로 해시가 변경되었습니다. |
(27) | hash.rehash 각키의현재 값에 기초하여해시를재확립한다.만약 값이 변경 삽입하면, 처리는해시를다시인덱싱한다. |
(28) | hash.reject {| 키, 값 | 블록 } 으로 새로운해시를생성하는 각 키블록의사실이다. |
(29) | hash.reject! {| 키, 값 | 블록} 그리고 같은를거부하지만,실제로 해시가 변경되었습니다. |
(30) | hash.replace (other_hash) 콘텐츠other_hash의해시의 내용을교체합니다. |
(31) | hash.select {| 키, 값 | 블록 } 새로운 배열을 돌려,블록은쌍진정한해시 키 값을 반환합니다. |
(32) | hash.shift 키 쌍에해시에서제거하고, 2 요소의 배열로 반환 된 키 값을 전송합니다. |
(33) | hash.size 그것은크기나 길이의 정수해시를반환합니다. |
(34) | hash.sort 해시 키값의 배열을 포함하는 2 차원 배열로 변환하고 정렬한다. |
(35) | hash.store (키, 값) 키 - 값 쌍에 저장된해시. |
(36) | hash.to_a 해시에서 2 차원 배열을 만듭니다. 배열로 각각의 키 - 값 쌍은, 모든 배열은 배열에 저장됩니다. |
(37) | hash.to_hash 반환해시 (자체). |
(38) | hash.to_s 해시는다음 배열 문자열로 변환되는 배열로 변환된다. |
(39) | hash.update (other_hash) [또는] hash.update (other_hash) {| 키 인 oldval, 된 newval | 블록} 새로운 해시를 돌려줍니다해시콘텐츠를 포함하고 중복 키 쌍other_hash와키해시를다시 작성other_hash. |
(40) | hash.value? (값) 해시가주어진값이들어 있는지여부를 확인합니다. |
(41) | hash.values 그것은해시의모든 값을 포함하는 새로운 배열을반환합니다. |
(42) | hash.values_at (OBJ, ko.) 이는 주어진 키와 관련된해시값을 포함하는 새로운 배열을 반환한다. |