2009-11-01 8 views
1

나는 정렬하려고하지만 아무 것도 없다. 이 문제를 어떻게 해결할 수 있습니까?테이블 정렬 - 루아

코드 메신저 useing : 당신이 종류의 변경에 대해 어떻게 이름을 사용할 수없는 경우 HP에 의해 비교하려는 가정

T = { {Name = "Mark", HP = 54, Breed = "Ghost"}, 
     {Name = "Stan", HP = 24, Breed = "Zombie"}, 
     {Name = "Juli", HP = 100, Breed = "Human"}, 
        { HP = 100, Breed = "Human"} 
    } 

function Sorting(T) 
    table.sort(T, 
     function(x,y) 
      return x.Name < y.Name and x.HP < y.HP 
     end 
    ) 
end 
+0

코드 샘플을 자동 서식 지정하려면 들여 쓰기를 사용하십시오. – outis

답변

3

(. 이름과 HP의하여 정렬하는 경우 중복 된 HP의가있다) 비교 기능 :

function(x, y) 
    if x.Name == nil or y.Name == nil then return x.HP < y.HP 
    else return x.Name < y.Name and x.HP < y.HP 
    end 
end 

문제는 이름이 항상 사용 가능하지 않으면 실제 키가 아닙니다.