요약: 테이블 셰이프 정의하기
Coddy Lua 여정의 Luau 소개 섹션에 포함된 레슨 — 73개 중 44번째.
챌린지
중급다음 조건을 만족하는 Computer라는 이름의 타입 별칭(type alias)을 생성하세요:
number타입의idstring타입의brandnumber?타입의ramInGB(선택 사항)(self: Computer) -> ()메소드인boot
두 개의 컴퓨터를 생성하세요 (콜론 구문을 사용하여 boot를 연결하세요):
workstation— id1001, brand"Dell", ramInGB16; 해당boot는[brand] is booting up...을 출력합니다.laptop— id1002, brand"MacBook", ramInGB 없음; 해당boot는[brand] is starting...을 출력합니다.
Computer를 매개변수로 받고 string을 반환하는 함수 specs를 작성하세요. RAM을 알 수 있는 경우 [brand] with [ramInGB] GB of RAM을 반환하고, 그렇지 않으면 [brand] with unknown RAM을 반환합니다.
그런 다음, 순서대로 진행하세요:
workstation:boot()호출laptop:boot()호출specs(workstation)출력specs(laptop)출력workstation의 id 출력
직접 해보기
-- 여기에 코드를 작성하세요
-- 1) Computer 타입 정의 (선택적 ramInGB, boot 메서드)
-- 2) workstation과 laptop 생성, 콜론 구문으로 boot 연결
-- 3) ramInGB에 대한 nil 검사와 함께 specs 작성
-- 4) 둘 다 boot, 둘 다 specs 출력, workstation.id 출력
Luau 소개의 모든 레슨
7프로젝트: Typed Task Manager
프로젝트: 태스크 형태 정의하기태스크 추가 함수3타입이 지정된 테이블: 배열과 맵
타입이 지정된 배열요소 추가 및 읽기맵 타입이란?맵 선언 및 접근테이블 순회하기혼합 형태 테이블다차원 타입 배열table.unpack과 가변 인자요약: 배열과 맵6테이블 셰이프 타입 지정
인라인 셰이프 어노테이션셰이프를 위한 타입 별칭선택적 속성셰이프 vs. 느슨한 테이블셰이프 확장하기셰이프에 메서드 추가하기Self와 콜론 메서드요약: 테이블 셰이프 정의하기