내 연락처 정보
우편메소피아@프로톤메일.com
2024-07-12
한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina
머리말
이 기사는 다음에서 참조되었습니다.Lua 데이터 유형 | 초보자 튜토리얼(runoob.com)
더 자세히 알고 싶으신 분들은 위의 링크를 확인해주세요:
- print(type("Hello world")) --> string
- print(type(10.4*3)) --> number
- print(type(print)) --> function
- print(type(type)) --> function
- print(type(true)) --> boolean
- print(type(nil)) --> nil
- print(type(type(X))) --> string
- print(type(Y)) -->nil
- print(type('Y')) -->string
여기서 출력하는 유형(Y)이 nil 유형임을 알 수 있습니다. 이유는 무엇입니까? 다음 nil(비어 있음)이 표시됩니다.
nil 유형은 유효한 값이 없는 유형을 나타냅니다. 예를 들어 할당 없이 변수를 인쇄하면 nil 값이 출력됩니다.
다음과 같습니다. 초기값이 할당되지 않은 세 변수의 출력 유형은 모두 nil입니다.
- tab1 = { key1 = "val1", key2 = "val2",
- "val3","val4",key3 = "val5" }
- for k, v in pairs(tab1) do
- print(k .. " - " .. v)
- end
- print("=========直接输出=============")
-
-
- tab1.key1 = nil
- for k, v in pairs(tab1) do
- print(k .. " - " .. v)
- end
- print("============删除key1后==========")
-
-
-
- tab1.key3 = nil
- for k,v in pairs(tab1) do
- print(k.. " - "..v)
- end
- print("=========删除key3后============")
-
전역 변수 및 테이블의 경우 nil에는 "삭제" 효과도 있습니다. 테이블의 전역 변수 또는 변수에 nil 값을 할당하는 것은 이를 삭제하는 것과 같습니다.
type(X)==nil 결과는 다음과 같습니다.거짓그 이유는 type(X)가 본질적으로 문자열 유형인 반환된 "nil" 문자열이기 때문입니다.
부울 유형에는 true(true)와 false(false)라는 두 가지 선택적 값만 있습니다. Lua는 false와 nil을 false로 처리하고 숫자 0도 true입니다.
- print(type(true))
- print(type(false))
- print(type(nil))
-
- if false or nil then
- print("至少有一个是 true")
- else
- print("false 和 nil 都为 false")
- end
-
- if 0 then
- print("数字 0 是 true")
- else
- print("数字 0 为 false")
- end
루아에는 기본적으로 하나의 숫자 유형만 있습니다 - 배정밀도(이중 정밀도) 유형(기본 유형은 luaconf.h에서 수정 가능), 다음 쓰기 방법은 num으로 간주됩니다.
숫자 문자열에 대해 산술 연산을 수행할 때 Lua는 숫자 문자열을 숫자로 변환하려고 시도합니다.
Lua에서 테이블 생성은 "구성적 표현식"을 통해 수행됩니다. 가장 간단하게 생성된 표현식은 빈 테이블을 생성하는 데 사용되는 {}입니다. 테이블에 일부 데이터를 추가하고 테이블을 직접 초기화할 수도 있습니다.
Lua의 테이블은 실제로"연관 배열"(연관 배열), 배열의 인덱스는 숫자 또는 문자열일 수 있습니다.
테이블의 길이는 고정되어 있지 않습니다. 새 데이터가 추가되면 초기화되지 않은 테이블의 길이는 자동으로 늘어납니다.
Lua에서 함수는 "일급 값"으로 간주됩니다.
Lua에서 가장 중요한 스레드는 코루틴입니다. 이는 스레드와 유사하며 자체 독립 스택, 지역 변수 및 명령어 포인터를 가지고 있습니다.
전역 변수 및 기타 대부분의 항목은 다른 코루틴과 공유할 수 있습니다.스레드와 코루틴의 차이점: 스레드는 동시에 여러 번 실행될 수 있지만 코루틴은 한 번에 하나만 실행할 수 있으며 실행 중인 코루틴은 일시 중지된 경우에만 일시 중지됩니다.
userdata는 애플리케이션이나 C/C++ 언어 라이브러리에서 생성된 유형을 나타내는 데 사용되는 사용자 정의 데이터 유형입니다.
모든 C/C++ 데이터 유형(일반적으로 구조체 및 포인터)의 모든 데이터를 Lua 변수에 저장하고 호출할 수 있습니다.