Step By Step(Lua 데이터 영구화)
8985 단어 lua
}는 Entry ({}) 와 같습니다. 위의 데이터 항목에 대해 적절한 Entry 함수를 정의할 수 있다면 이 데이터를 Lua 코드의 일부분으로 만들 수 있습니다.코드와 주석은 다음과 같습니다.1 local count = 0
2 -- Entry , dofile , 。
3 function Entry() count = count + 1 end
4 dofile("d:/lua_data.conf")
5 print("number of entries: " .. count)
6
7 -- :
8 --number of entries: 2
위의 데이터 파일의 형식에 비해 우리는 더욱 뚜렷한'자설적 데이터'형식을 정의할 수 있다. 그 중에서 모든 데이터는 그 의미를 나타내는 간단한 설명을 수반한다.이러한 형식을 사용하면 앞으로 데이터 항목에 변화가 발생하더라도 우리는 아주 작은 변동 상황에서 이후의 호환성을 유지할 수 있다.Entry {name = "Stephen Liu",gender = "Male", job = "Programmer", education = "BS"} Entry {name = "Jerry Tian",gender = "Male", job = "Programmer", education = "BS"} 1 local personInfo = {}
2 function Entry(b)
3 -- table b name personInfo key 。
4 if b.name then
5 personInfo[b.name] = true
6 end
7 end
8
9 dofile("d:/lua_data.conf")
10 for name in pairs(personInfo) do
11 print(name)
12 end
13
14 -- :
15 --Jerry Tian
16 --Stephen Liu
이 코드 세션들은 모두 이벤트 구동 방법을 채택한 것을 알 수 있다.Entry 함수는dofile을 실행할 때 데이터 파일의 모든 항목에 호출되는 리셋 함수입니다.Lua는 실행 속도가 빠를 뿐만 아니라 컴파일 속도도 빠르다.이는 Lua가 디자인 초기에 데이터 묘사를 Lua의 주요 응용 중 하나로 삼았기 때문이다. 2. 서열화: 자바나 C# 개발 경험이 있다고 믿는 사람들은 이 용어에 대해 낯설지 않다.데이터 대상을 바이트 흐름으로 변환한 후 IO를 통해 파일이나 네트워크로 출력하고 읽을 때 이 데이터를 원시 대상과 같은 값을 가진 새로운 대상으로 재구성하는 것이다.또는 실행 가능한 Lua 코드를 서열화된 데이터 형식으로 사용할 수도 있습니다.예를 들어: varname = , 여기 있는 는 변수를 계산하는 varname의 표현식을 표시합니다.다음 예제 코드는 루프가 없는 테이블을 시리얼화하는 데 사용됩니다. 1 function serialize(o)
2 if type(o) == "number" then
3 io.write(o)
4 elseif type(o) == "string" then
5 --string.format "%q" 。
6 io.write(string.format("%q",o))
7 elseif type(o) == "table" then
8 io.write("{
")
9 -- table , value。
10 -- , table。
11 for k,v in pairs(o) do
12 -- k Lua 。
13 io.write(" ["); serialize(k); io.write("] = ")
14 serialize(v)
15 io.write(",
")
16 end
17 io.write("}
")
18 else
19 error("cannot serialize a " .. type(o))
20 end
21 end
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Neovim을 위한 자동 완성NeoVim으로 생산성을 높일 수 있는 가장 멋진 기능 중 하나는 자동 완성이므로 성능에 따라 플러그인을 선택할 수 있습니다. YouCompleteMe Coc.nvim 이 플러그인은 사용하기 좋지만 Javascrip...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.