«metaprogramming» etiketlenmiş sorular

Metaprogramlama, makrolar veya meta sınıflarda olduğu gibi bir programlama ortamını yeniden programlama yeteneğidir.



4
Ruby'de Yöntemin Adıyla Bir Dizeden Yöntem Çağırma
Burada bahsettiklerini nasıl yapabilirim , ama Ruby'de? Bir nesne üzerindeki işlevi nasıl yapardınız? ve küresel bir işlevi nasıl yapardınız ( bahsi geçen yazıdaki jetxee'nin cevabına bakınız )? ÖRNEK KOD: event_name = "load" def load() puts "load() function was executed." end def row_changed() puts "row_changed() function was executed." end #something here …


5
Bir Python kodu satırı girintili iç içe geçme düzeyini bilebilir mi?
Böyle bir şeyden: print(get_indentation_level()) print(get_indentation_level()) print(get_indentation_level()) Böyle bir şey almak istiyorum: 1 2 3 Kod bu şekilde kendini okuyabilir mi? Tüm istediğim kodun daha iç içe bölümlerinden daha iç içe olması için çıktı. Bu, kodun okunmasını kolaylaştırdığı gibi, çıktıyı da okumayı kolaylaştırır. Tabii ki bunu manuel olarak uygulayabilirim, örneğin .format(), …


4
Lambda'nın parametre tipini ve dönüş tipini bulmak mümkün müdür?
Bir lambda verildiğinde, parametre türünü ve dönüş türünü bulmak mümkün müdür? Evetse, nasıl? Temel olarak, lambda_traitsaşağıdaki şekillerde kullanılabilmesini istiyorum : 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 Arkasındaki motivasyon lambda_traits, bir lambda'yı bağımsız değişken olarak kabul …



7
Metaprogramlama tam olarak nedir?
Java platformunda ployglot programlama üzerine TheServerSide hakkında bir makale okuyordum . Makaledeki bazı yorumlar, kod üretme yeteneği olarak meta programlamaya atıfta bulunur (belki de anında). Metaprogramlama, anında kod üretme yeteneğini mi yoksa çalışma zamanında mevcut nesnelere yöntemler ve öznitelikleri enjekte etme yeteneği mi (Python, Ruby ve Groovy gibi bazı dinamik …

13
Derleme zamanında 1 + 2 + 3 +… + 1000'i hesaplamak için C #, C ++ veya Java derleyicisini nasıl çalıştırabilirim?
Yakın zamanda yapılan bir röportajda bana gerçekten tuhaf bir soru soruldu. Görüşmeci bana sadece derleyici özelliklerini kullanarak 1 + 2 + 3 + ... + 1000'i nasıl hesaplayabilirim diye sordu. Bu, bir program yazıp çalıştırmama iznim olmadığı anlamına gelir, ancak derleyiciyi derleme sırasında bu toplamı hesaplamaya ve derleme tamamlandığında sonucu …

9
C ++ SFINAE örnekleri?
Daha fazla şablon meta programlamaya girmek istiyorum. SFINAE'nin "ikame başarısızlığı bir hata değildir" anlamına geldiğini biliyorum. Ama biri bana SFINAE için iyi bir kullanım gösterebilir mi?

8
C ++ şablon meta programlamasına en iyi giriş? [kapalı]
Kapalı. Bu soru Yığın Taşması yönergelerini karşılamıyor . Şu anda cevapları kabul etmiyor. Bu soruyu geliştirmek mi istiyorsunuz? Yığın Taşması için konuya uygun olması için soruyu güncelleyin . 3 yıl önce kapalı . Bu soruyu geliştirin Statik meta programlama ("şablon meta programlama" olarak da bilinir), programların derleme zamanında yürütülmesine izin …

1
Pony (ORM) hilelerini nasıl yapıyor?
Pony ORM , bir jeneratör ifadesini SQL'e dönüştürmenin güzel hilesini yapıyor. Misal: >>> 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]] >>> Python'un harika iç gözlem ve metaprogramlama yerleşiklerine sahip olduğunu biliyorum, …


Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.