OCamlμ—μ„œ λ ˆμ½”λ“œ νƒ€μž… (Record Type)

OCamlμ—μ„œ λ ˆμ½”λ“œ νƒ€μž…(record type) 은 μ—¬λŸ¬ 개의 ν•„λ“œλ₯Ό κ°€μ§€λŠ” 데이터 ꡬ쑰둜, ꡬ쑰체(struct)λ‚˜ 객체(object)와 μœ μ‚¬ν•©λ‹ˆλ‹€.


πŸ“Œ 1. λ ˆμ½”λ“œ νƒ€μž… μ •μ˜ν•˜κΈ°

λ ˆμ½”λ“œ νƒ€μž…μ„ μ •μ˜ν•˜λ €λ©΄ type ν‚€μ›Œλ“œλ₯Ό μ‚¬μš©ν•©λ‹ˆλ‹€.

type person = {
  name: string;
  age: int;
};;

βœ… μ„€λͺ…:


πŸ“Œ 2. λ ˆμ½”λ“œ 생성

λ ˆμ½”λ“œ 값을 λ§Œλ“€ λ•ŒλŠ” ν•„λ“œ 이름과 값을 λͺ¨λ‘ μ§€μ •ν•΄μ•Ό ν•©λ‹ˆλ‹€.

let p = { name = "Alice"; age = 25 };;

βœ… μ„€λͺ…:


πŸ“Œ 3. ν•„λ“œ μ ‘κ·Ό

λ ˆμ½”λ“œ ν•„λ“œμ— μ ‘κ·Όν•˜λ €λ©΄ . μ—°μ‚°μžλ₯Ό μ‚¬μš©ν•©λ‹ˆλ‹€.

let person_name = p.name;;
let person_age = p.age;;

Printf.printf "이름: %s, λ‚˜μ΄: %d\\n" person_name person_age;;
(* 좜λ ₯: 이름: Alice, λ‚˜μ΄: 25 *)