«metaprogramming» 태그된 질문

메타 프로그래밍은 매크로 또는 메타 클래스와 마찬가지로 프로그래밍 환경을 다시 프로그래밍하는 기능입니다.

12
객체 필드의 파이썬 사전
임의의 객체에서 사전을 작성하는 내장 함수가 있는지 알고 있습니까? 나는 이런 식으로하고 싶다 : >>> class Foo: ... bar = 'hello' ... baz = 'world' ... >>> f = Foo() >>> props(f) { 'bar' : 'hello', 'baz' : 'world' } 참고 : 방법을 포함해서는 안됩니다. 필드 만.


4
Ruby에서 메소드 이름으로 문자열에서 메소드 호출
그들이 여기서 말하는 것을 루비에서 어떻게 할 수 있습니까? 객체에서 어떻게 기능을 수행 하시겠습니까? 그리고 어떻게 전역 기능을 수행 할 것 입니까 (언급 된 게시물에 대한 jetxee의 답변 참조 )? 예제 코드 : event_name = "load" def load() puts "load() function was executed." end def row_changed() puts "row_changed() function was …


5
파이썬 코드 줄이 들여 쓰기 중첩 수준을 알 수 있습니까?
이런 식으로 : print(get_indentation_level()) print(get_indentation_level()) print(get_indentation_level()) 나는 이와 같은 것을 얻고 싶다 : 1 2 3 이 방법으로 코드를 읽을 수 있습니까? 내가 원하는 것은 코드의 더 중첩 된 부분의 출력이 더 중첩 될 것입니다. 이렇게하면 코드를보다 쉽게 ​​읽을 수 있으며 출력을보다 쉽게 ​​읽을 수 있습니다. 물론 나는 이것을 사용하여 …

15
C ++에서 컴파일 타임 문자열을 편리하게 선언
C ++에서 컴파일 타임에 문자열을 생성하고 조작 할 수 있다는 것은 몇 가지 유용한 응용 프로그램이 있습니다. C ++에서 컴파일 타임 문자열을 생성 할 수 있지만 문자열이 가변적 인 일련의 문자로 선언되어야하므로 프로세스가 매우 번거 롭습니다. using str = sequence<'H', 'e', 'l', 'l', 'o', ',', ' ', 'w', 'o', 'r', …

4
람다의 매개 변수 유형과 반환 유형을 알아낼 수 있습니까?
람다가 주어지면 매개 변수 유형과 반환 유형을 알아낼 수 있습니까? 그렇다면 어떻게? 기본적으로 lambda_traits다음과 같은 방식으로 사용할 수 있습니다. auto lambda = [](int i) { return long(i*10); }; lambda_traits<decltype(lambda)>::param_type i; //i should be int lambda_traits<decltype(lambda)>::return_type l; //l should be long 뒤에 동기 lambda_traits는 람다를 인수로 받아들이는 함수 템플릿에서 사용하고 싶습니다 …


3
Objective-C 클래스-> 문자열 : [NSArray className]-> @“NSArray”
클래스 객체 자체에서 클래스의 문자열 이름을 가져 오려고합니다. // For instance [NSArray className]; // @"NSArray" 나는 그것을 찾았 object_getClassName(id obj)지만 인스턴스가 전달되어야하며 내 경우에는 불필요한 작업입니다. 그렇다면 인스턴스가 아닌 클래스 객체에서 문자열을 어떻게 얻을 수 있습니까?

7
메타 프로그래밍이란 정확히 무엇입니까?
Java 플랫폼의 ployglot 프로그래밍에 대한 TheServerSide에 대한 기사를 읽고있었습니다 . 이 기사의 일부 의견은 메타 프로그래밍을 코드 생성 기능 (아마도 즉석에서)이라고합니다. 즉석에서 코드를 생성하는 기능을 메타 프로그래밍하거나 런타임에 기존 객체에 메서드와 속성을 주입하는 기능입니까 (예 : Python, Ruby 및 Groovy와 같은 일부 동적 언어가 허용하는 것).

13
컴파일 타임에 1 + 2 + 3 +… + 1000을 계산하기 위해 C #, C ++ 또는 Java 컴파일러를 구동하는 방법은 무엇입니까?
최근 인터뷰에서 정말 이상한 질문을 받았습니다. 면접관은 컴파일러 기능을 사용하여 어떻게 1 + 2 + 3 + ... + 1000을 계산할 수 있는지 물었습니다. 즉, 프로그램을 작성하고 실행할 수는 없지만 컴파일 중에이 합계를 계산하고 컴파일이 완료되면 결과를 인쇄하도록 컴파일러를 구동 할 수있는 프로그램을 작성해야합니다. 힌트로 그는 컴파일러의 제네릭 및 전 …

9
C ++ SFINAE 예제?
더 많은 템플릿 메타 프로그래밍에 대해 알아보고 싶습니다. SFINAE가 "대체 실패는 오류가 아닙니다"라는 뜻이라는 것을 알고 있습니다. 하지만 누군가 SFINAE에 대한 좋은 사용을 보여줄 수 있습니까?

8
C ++ 템플릿 메타 프로그래밍에 대한 최고의 소개? [닫은]
닫은. 이 질문은 Stack Overflow 지침을 충족하지 않습니다 . 현재 답변을 받고 있지 않습니다. 이 질문을 개선하고 싶으십니까? 질문을 업데이트하여Stack Overflow의 주제에 맞게 . 휴일 삼년 전에 . 이 질문 개선 정적 메타 프로그래밍 (일명 "템플릿 메타 프로그래밍")은 컴파일 시간에 프로그램을 실행할 수있는 훌륭한 C ++ 기술입니다. 이 표준 메타 …

1
포니 (ORM)는 어떻게 트릭을합니까?
Pony ORM 은 생성기 표현식을 SQL로 변환하는 멋진 트릭을 수행합니다. 예: >>> select(p for p in Person if p.name.startswith('Paul')) .order_by(Person.name)[:2] SELECT "p"."id", "p"."name", "p"."age" FROM "Person" "p" WHERE "p"."name" LIKE "Paul%" ORDER BY "p"."name" LIMIT 2 [Person[3], Person[1]] >>> 파이썬에 훌륭한 인트로 스펙 션과 메타 프로그래밍이 내장되어 있다는 것을 알고 …


당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.