2015-01-14 5 views
2

이것은 "나를위한 Google it"과 같은 종류의 질문처럼 보이지만 답변을 얻지 못하는 것 같습니다. Numpy의 .shape 메서드와 비슷한 명령을 사용하여 루아에서 테이블의 크기를 찾는 방법은 무엇입니까? 예. blah = '2 x 3 table'; blah.lua_equivalent_of_shape = {2,3}루아 : 테이블의 치수

답변

2

루아의 표는 키 - 값 쌍의 집합이며 크기가 없습니다.

Lua 테이블을 사용하여 2 차원 배열을 구현할 수 있습니다. 이 경우, 치수는 아래의 예와 같이, #t x #t[1]에 의해 주어진다 :

t={ 
{11,12,13}, 
{21,22,23}, 
} 
print(#t,#t[1]) 
+0

정확히 내가 무엇을 찾고 있었습니까. – Black

0

NumPy와의 배열은 메모리에 인접하고 그들은 항상 도형의 개념을하지 않아도 루아의 테이블은 해시입니다. 테이블

말했다되고 그건

, 테이블, t의 길이를 찾기 위해 사용 지수 #t

t = {1, 2, 3} 
print(#t) -- prints 3 

당신은 수를 사용 1..N 등 불규칙 배열, 세트, ​​개체를 구현하는 데 사용할 수 있습니다 numpy 배열처럼 동작하고 shape 속성을 추가하거나 C에서 구현하고 Lua에 대한 바인딩을 만들기위한 객체를 구현하십시오. 당신이 정말로 NumPy와의 기능을 놓칠 경우

t = {{1, 0}, {2, 3}, {3, 1}, shape={2, 2}} 
print(t.shape[1], t.shape[2]) 
print("dims", #t.shape) 

당신은 루아에있는 기능과 같은 효율적인 NumPy와 사용 torch.tensor를 사용할 수 있습니다.

+0

Numpy와 Lua가 메모리에서 테이블을 처리하는 방법의 차이를 알지 못했습니다. 알려 줘서 고마워. – Black