openlang

lua: 테이블의 키를 다른 테이블로 모으기

lua 테이블의 키를 전부 얻는 방법을 알고 싶습니다. 예를 들어 이런 테이블이 있다고 할게요:

entries = {}
entries[2] = 'c'
entries[4] = 'd'
entries[7] = 'h'

제가 받고 싶은 것은 다음과 같은 테이블입니다:

indices = {2, 4, 7}
영어에서 번역원문 보기

이어지는 대화 2

서로의 근거를 따라
  1. 고유 링크
    local indices={}
    local count=0
    for index, value in pairs(entries) do
      count=count+1
      indices[count]=index
    end

    참고로 indices의 순서는 보장되지 않습니다. 키를 정렬해서 받고 싶으면 table.sort(indices)로 indices를 정렬하세요.

    영어에서 번역원문 보기
  2. 고유 링크
    local function collect_indices(source)
      local result={}
      for index,_ in pairs(source) do
        table.insert(result, index)
      end
      return result
    end

같은 질문의 다른 갈래

  1. Godot 3.3의 GDScript에서 일일이 나열하지 않고 enum 항목을 무작위로 고르기?

    GDScript에서 enum을 이렇게 선언했어요: 가능한 모든 변형을 나열하지 않고 enum 변형을 무작위로 고르고 싶어요. 나중에 변형을 더 추가해도 무작위로 선택하는 코드를 수정하지 않도록요. 이런 방법을 시도해 봤어요:…

    답글 2최근 활동 gdscript
  2. Nim 나머지 연산 문법

    Nim에서는 나머지를 어떻게 표현하나요? cell % 7 == 0를 쓰면 undeclared identifier: '%'가 나옵니다 Google로 검색해도 SO를 찾아봐도 답을 찾지 못했습니다.

    답글 2최근 활동 nim
  3. APL 함수에서 결과 반환하기

    함수 실행이 끝나면 어떤 값을 반환하게 하려면 어떻게 하나요? 예를 들어 이런 것이 있습니다: ROUTINE N ? N ⍴ 12 //이것은 1부터 12까지의 난수 N개를 만듭니다 (N은 함수의 인수입니다). 함수의 결과를 돌…

    답글 2최근 활동 apl