Record

Record adalah tipe data buatan yang berisi kumpulan tipe data lain yang disebut field, seperti koleksi tetapi untuk isi tipe data.

Record pada Nim lebih dikenal dengan nama Object, penggunaan kata record hanya untuk pembaca familiar dengan istilah ini.

Pola deklarasi Record:

type 
  <nama record> = object
    <nama field>:<tipe field>
    <nama field>:<tipe field>
    ...

Contoh deklarasi Record dan penulisan nilai dengan Record.

type 
  Gender = enum
    pria | wanita | nonbiner

  Biografi = object
    nama : string
    umur : int
    jenisKelamin Gender


var el = Biografi(nama: "Elisabeth Kartini", umur: 22, jenisKelamin: wanita)

echo el.Nama
# Elisabeth Kartini 

echo el.umur
# 22

echo el.jenisKelamin
# wanita

Notasi . (titik/dot) pada variabel el dan nama field dari tipe data Biografi digunakan untuk mengakses nilai dari field tipe data tersebut.

Isi dari field bisa diubah dengan operator =.

# ... nyambung dengan contoh kode yang diatas

echo el.Nama
# Elisabeth Kartini 

el.Nama = "Maria Hoshinova"

echo el.Nama
# Maria Hoshinova

Peringatan: setiap variabel yang ingin di ubah sewaktu-waktu, deklarasikan dengan kata kunci var