Fork me on GitHub
buset mendungnya tebel banget nih pagi2

Ruby Tips : Mengubah Isi Array Menjadi Tipe Data Tertentu

Posted: December 15th, 2009 | Author: gozali | Filed under: Programming, Ruby | Tags: , , | 4 Comments »

Sebagai contoh kita ingin menggabungkan dua buah Array dengan elemen yang bervariasi, misalnya String dan Integer dan membuang elemen yang duplicated.

Ilustrasinya sebagai berikut :

1
2
x = [1, 2, 3, 4]
y = ["1", "2", "3", 5]

Array x memiliki elemen dengan tipe data Integer sedangkan Array y memiliki String dan Integer yang sebenarnya jika String tersebut diubah tipe datanya menjadi Integer akan memiliki elemen yang hampir sama dengan Array x. Lalu bagaimana cara agar ketika kedua Array tersebut digabungkan kita mendapatkan Array dengan data yang unik?

Caranya sangat sederhana dan cukup satu baris saja di Ruby :
Dari String ke Integer

1
2
3
4
irb(main):003:0> z = (x+ y).flatten.collect { |i| i.to_i } 
=> [1, 2, 3, 4, 1, 2, 3, 5]
irb(main):004:0> z.uniq
=> [1, 2, 3, 4, 5]

Dari Integer ke String :

1
2
3
4
irb(main):005:0> z = (x+ y).flatten.collect { |i| i.to_s }
=> ["1", "2", "3", "4", "1", "2", "3", "5"]
irb(main):006:0> z.uniq
=> ["1", "2", "3", "4", "5"]

Atau bahkan Float

1
2
3
4
irb(main):007:0> z = (x+ y).flatten.collect { |i| i.to_f }
=> [1.0, 2.0, 3.0, 4.0, 1.0, 2.0, 3.0, 5.0]
irb(main):008:0> z.uniq
=> [1.0, 2.0, 3.0, 4.0, 5.0]

Demikian, semoga bermanfaat :)

Share and Enjoy:
  • Print this article!
  • Digg
  • del.icio.us
  • Facebook
  • Google Bookmarks
  • DZone
  • E-mail this story to a friend!
  • Turn this article into a PDF!
  • Twitter

4 Comments on “Ruby Tips : Mengubah Isi Array Menjadi Tipe Data Tertentu”

  1. 1 Rounin said at 7:55 AM on December 22nd, 2009:

    Saya catet :D
    Mau tanya mas, flatten itu fungsinya untuk apa?

  2. 2 gozali said at 6:47 PM on December 22nd, 2009:

    a = [ 1, 2, [3, [4, 5] ] ]
    a.flatten! #=> [1, 2, 3, 4, 5]

  3. 3 Fahmi said at 2:40 PM on March 3rd, 2010:

    Ruby array is very powerful :) Thks infonya

  4. 4 gozali said at 2:43 PM on March 3rd, 2010:

    sama2 mas Fahmi :)


Leave a Reply