OCamlμμ λ μ½λ νμ (record type) μ μ¬λ¬ κ°μ νλλ₯Ό κ°μ§λ λ°μ΄ν° ꡬ쑰λ‘, ꡬ쑰체(struct)λ κ°μ²΄(object)μ μ μ¬ν©λλ€.
λ μ½λ νμ
μ μ μνλ €λ©΄ type ν€μλλ₯Ό μ¬μ©ν©λλ€.
type person = {
name: string;
age: int;
};;
β μ€λͺ :
personμ΄λΌλ μ νμ
μ μ μν¨.{} λ΄λΆμ νλ μ΄λ¦κ³Ό νμ
μ μ§μ (name: string; age: int).λ μ½λ κ°μ λ§λ€ λλ νλ μ΄λ¦κ³Ό κ°μ λͺ¨λ μ§μ ν΄μΌ ν©λλ€.
let p = { name = "Alice"; age = 25 };;
β μ€λͺ :
pλ person νμ
μ μΈμ€ν΄μ€.{ name = "Alice"; age = 25 }μ μ¬μ©νμ¬ κ°μ μ€μ .λ μ½λ νλμ μ κ·Όνλ €λ©΄ . μ°μ°μλ₯Ό μ¬μ©ν©λλ€.
let person_name = p.name;;
let person_age = p.age;;
Printf.printf "μ΄λ¦: %s, λμ΄: %d\\n" person_name person_age;;
(* μΆλ ₯: μ΄λ¦: Alice, λμ΄: 25 *)