제목에서 알 수 있듯이, 파이썬의 dir()
에 해당하는 내용이 있습니까?dart에 python의 dir()과 동일한 기능이 있습니까?
답변
파이썬 dir() function은 모듈이 정의하는 이름을 찾는 데 사용됩니다.
우리는 Mirrors를 사용할 수 있으며 (또는 적어도 매우 유사) 우리 자신에 상응하는 함수를 작성 :
import 'dart:mirrors';
List<String> dir([String libraryName]) {
var lib, symbols = [];
if (?libraryName) {
lib = currentMirrorSystem().libraries[libraryName];
} else {
lib = currentMirrorSystem().isolate.rootLibrary;
}
lib.members.forEach((name, mirror) => symbols.add(name));
return symbols;
}
지금 여기 예입니다 :
class Hello {}
bar() => print('yay');
main() {
var foo = 5;
print(dir()); // [main, bar, Hello, dir]
}
또는 라이브러리를 지정
print(dir('dart:mirrors'));
[MirroredError, TypeMirror , ObjectMirror, _LazyLibraryMirror, TypeVariableMirror, MirrorException, ClassMirror, MirrorSystem, _LocalMirrorSystemImpl, _LocalVMObjectMirrorImpl, DeclarationMirror, _LazyTypeMirror, _LocalClosureMirrorImpl, mirrorSystemOf, _LazyFunctionTypeMirror, _filterMap, MirroredCompilationError, _Mirrors, _LocalClassMirrorImpl, _LocalInstanceMirrorImpl, _LocalTypedefMirrorImpl, _LocalFunctionTypeMirrorImpl, 반영 MethodMirror, _LocalVariableMirrorImpl, LibraryMirror, _LocalIsolateMirrorImpl, FunctionTypeMirror, _LocalLibraryMirrorImpl, 거울, _LocalObjectMirrorImpl, _LocalMirrorImpl, _makeSignatureString, _LocalTypeVariableMirrorImpl, 주석 MirroredUncaughtExceptionError, _LocalParameterMirrorImpl, _LazyTypeVariableMirror, TypedefMirror, VariableMirror, IsolateMirror, currentMirrorSystem, _dartEscape, _LocalMethodMirrorImpl, 클리오 sureMirror, VMReference, ParameterMirror, InstanceMirror, _isSimpleValue, SourceLocation]
이 말 그대로 특정 라이브러리 (모듈)에 정의 된 내용을 알려줍니다. 이제는 파이썬의 함수와 약간의 차이가있을 수 있습니다.이 함수는 이름을 정렬하는 것으로 보이지만, 이것은 당신에게 당황 스럽습니다.