metaprogramming

    0

    1答えて

    私はPython言語の構文を再定義できることを自分自身に証明しようとしています。基本的には、メタプログラミングの面の1つです。しかし、組み込みのobjectクラスの動作を上書きするのに苦労しています。 オブジェクトに特定の属性がない場合にAttributeErrorが発生する動作を変更しようとしています。代わりに私はPythonをJavaScriptのように動作させようとしています。その場合はNo

    0

    3答えて

    を定義するには、変数名などの文字列を使用します。私は何をしたいか names = ['log_index', 'new_index'] は、名前の変数を作成することです: names.each { |name| name = [] } # obviously it does not do what I want これらの変数は、コードのどこかで宣言されていません。 どうすればいいですか?

    2

    3答えて

    タプルに「メタタイプ」のみが含まれているかどうかをコンパイラに確認してもらいたいです。 ところで、私は全く新しいC++のコンセプトです。 template < typename T > struct Type { using type = T; }; //! A type can be easily check with a small concept template < t

    7

    4答えて

    同じ基本機能を実装するが、異なるメンバ関数名を持つインターフェイスを持つ複数のクラスに対して再利用したい汎用コードがあるとします。たとえば、基底クラスがeraseメンバ関数を持つ場合、次のコードが動作します。 std::setまたはstd::unordered_set。 template <typename T> static std::chrono::duration<double> set_

    1

    1答えて

    私はしかし、カスタム動作とisinstance()を呼び出すときに、intから継承exemple posintクラスを持っているしたいと思います: >>> isinstance(1, int), isinstance(1, posint) (True, True) >>> isinstance(-1, int), isinstance(-1, posint) (True, False)

    4

    2答えて

    私のクラスの出力をdir()に変更したいと思います。通常、他のすべてのオブジェクトでは、クラス内で独自の__dir__メソッドを定義することによって行われます。しかし、私のクラスでこれを行うと、呼び出されません。 dir()の出力をクラスに変更するにはどうすればよいですか?

    3

    1答えて

    タイトルは私がやろうとしていることの最善の説明ではないかもしれませんが、私はこれを何と呼ぶべきか分かりません。私は、 "デコレータ"、 "記述子"、 "メタクラス"のような名前を持つ様々な一見関連した概念に出くわしましたが、私はこれらのアプローチ(もしあれば)をさらに調査しなければなりません!私はこのようなMyGreeterのインスタンスを使用できるようにしたいと思い class AnimalGr

    1

    1答えて

    私は、呼び出しモジュールに関数を注入する単純なマクロを持っています。 defmodule MyModule do defmacro __using__(_opts) do quote do def run do IO.puts "Hello world" end end end end これは意図した通りですが、ru