@@ -569,4 +569,53 @@ pasti memiliki object yang sama.
569
569
Symbol biasanya digunakan sebagai ` key ` atau indentifier dalam hash atau object ruby.
570
570
571
571
## Hashes
572
- ## Methods
572
+
573
+ Hash adalah koleksi pasangan ` key-value ` yang dalam ruby memiliki syntax sebagai berikut:
574
+
575
+ ``` ruby
576
+ my_hash = { :name => " Nugroho" , :age => 25 }
577
+ ```
578
+
579
+ Hash mirip seperti array, tetapi jika array diindex dengan integer yang dimulai dari 0, hash
580
+ diindex dengan object ruby. Semua object dalam ruby dapat dijadikan key ataupun value dalam
581
+ hash. Tetapi pada umumnya kita lebih sering menggunakan symbol atau string sebagai key dari
582
+ sebuah hash.
583
+
584
+ Keys dalam hash harus unik. Jika kita mengakses index hash yang tidak ada, kita akan mendapatkan
585
+ nilai ` nil ` .
586
+
587
+ ### Inisiasi Hash
588
+
589
+ Untuk menginisiasi sebuah hash, kita dapat memanggil method new dari kelas ` Hash ` :
590
+
591
+ ``` ruby
592
+ my_hash = Hash .new
593
+ ```
594
+
595
+ namun pada umumnya kita lebih sering membuat hash dengan literal hash sebagai berikut:
596
+
597
+
598
+ ``` ruby
599
+ my_hash = {}
600
+ ```
601
+
602
+ ### Hash methods
603
+
604
+ Berikut ini adalah beberapa method hash yang sering kita gunakan:
605
+
606
+ * ` hash.[key] ` digunakan untuk mengakses value hash dengan ` key ` tertentu. Akan mereturn
607
+ object value jika ditemukan, atau ` nil ` jika tidak ditemukan.
608
+
609
+ * ` hash.clear ` menghapus semua key dan value dari hash tersebut.
610
+
611
+ * ` hash.delete(key) ` menghapus key-value dengan ` key ` tertentu. Akan mereturn value tersebut.
612
+
613
+ * ` hash.delete_if { |key,value| block } ` menghapus key-value jika evaluasi ` block ` menghasilkan
614
+ nilai true.
615
+
616
+ * ` hash.each { |key,value| block } ` melakukan iterasi dan mengevaluasi block untuk semua key-value.
617
+
618
+ * ` hash.keys ` menghasilkan array dari semua ` key ` dalam hash tersebut.
619
+
620
+ * ` hash.merge(another_hash) ` menghasilkan hash baru yang merupakan gabungan kedua hash. Jika ada
621
+ key yang sama, akan di override oleh nilai dari ` another_hash ` .
0 commit comments