업데이트 이제 컴파일 오류를 해결했습니다. 코드의 유일한 문제점은 예쁜 인쇄를 위해 사전 순으로 알파벳순으로 정렬하는 방법입니다.지니에서 사전을 정렬하는 방법
을 파이썬에서 Genie로 리팩토링하고 있지만 목록에 추가하기 전에 항목을 정렬하는 방법에 집착했습니다.
lines.append("Options:")
if len(self.options):
for name, option in sorted(self.options.items()):
lines.append(" %s: %s" % (name, option.values))
else:
lines.append(" [none]")
self.options가 딕셔너리의 내용을 인쇄 할 수있는 방법 self.options = {}
이제
로 선언하지만, 정렬 : 파이썬에서
은 같이 간단하다? 여기
내가 붙어 코드입니다 :def ListOptions()
var lines = new list of string
lines.add("Options:")
if _options.size != 0
for name in _options.keys
lines.add(" %s: %s" % (name, _options.values))
else
lines.add(" [none]")
ListOptions 클래스 내에서 방법이다, 나는 _options로 _options 선언 :
더 컴파일 오류가없는 문자열의 새로운 DICT, 문자열을 더 이상 코드의 해당 섹션에서. 내 질문은 목록에 추가하기 전에 사전의 요소를 정렬하는 방법입니다 lines
?
"인수 파서"라고 할 때 인수는 명령 줄에서 프로그램으로 전달되는 것을 의미합니까? – AlThomas
내 말은 [여기] (https://github.com/dmulholland/clio) ...하지만 내가 뭘 하려는지는 내가 직면하고있는이 문제와 관련이 없다고 생각한다. 문제는 어떻게 알파벳순으로 정렬 된 dict를 반복합니다 ... –
명령 줄 인수를 구문 분석하려면 GLib의 OptionContext 및 OptionEntry를 살펴야합니다. 이것은 대부분의 목적에 유용합니다. Vala의 예제는 http://stackoverflow.com/questions/33431446/how-to-do-optioncontext-parsing-on-an-instance – AlThomas