duck-typing

    0

    1答えて

    私はdictをラップするカスタムクラスを作成しています。したがって、getitemを実装したいと思います。また、この辞書ではタプルをキーとして使用します。しかし、getitemにタプルを渡そうとすると、PythonはKeyErrorを投げます。 コード: Class Board(object): def __getitem__(self, key): print "type i

    116

    3答えて

    Namespaceオブジェクトであるargparse.ArgumentParser()の結果を、辞書またはマッピングのようなオブジェクト(collections.Mappingを参照してください)が必要な方法で使用する場合、正しい方法は何ですか? C:\>python Python 2.7.3 (default, Apr 10 2012, 23:31:26) [MSC v.1500 32 bit

    2

    3答えて

    インスタンスまたはクラスを交換可能に渡すコードがあります。私がこのコードで行うことは、クラスとインスタンスの両方が持つことが期待されるメソッドを呼び出すことです(以下の例ではgo()メソッド)。 残念ながら、通常のメソッドと同じ名前のクラスメソッドを作成することはできません。下記の例を参照してください。私は最初にbの代わりにaを生成するための2番目の呼び出しを期待していました。 これを達成するため

    0

    1答えて

    同じモデルの2つの属性を比較してレコードのリストをクエリする方法はありますか? 私はUserモデルを持っており、updated_at時間がUsersテーブルのcreated_at時間の6時間以内であるすべてのユーザーに対してクエリを実行したいと思います。 ありがとうございました!あなたは、文字列をwhere与える場合

    1

    1答えて

    私はこの線に沿って簡単なActiveRecordのクエリを有する: similar_changes = Notification.where(change_owner: 'foo1', change_target: 'foo2', change_cancelled: false) 各通知オブジェクトがフィールドchange_typeを有しており、私は1つの通知のchange_typeそれぞれを

    1

    3答えて

    のレコードのレコードまたはスラグを受け入れるのダックタイピングに優しい方法で私はこのような機能を持っている:bar今 def foo(bar): ... は、いずれかのDjangoのレコードまたはレコードを指しているスラグすることができます。実際のレコードがあるときにこの関数を呼び出すことができるように、またはデータベースから取り出した文字列としてしか利用できないより一般的な関数から

    8

    3答えて

    Rubyを学習していて、タイピングに関する大きな概念上の問題があります。なぜ私がパラダイムで理解できないのかを詳しく説明できます。 私はRubyのように簡潔なコードのためのメソッド連鎖です。チェーン内の各メソッドの戻り値の型を正確に知る必要があります。そうでなければ、次のリンクでどのメソッドが利用できるのか分かりません。毎回メソッドのドキュメントをチェックする必要がありますか?私はこの常時実行され

    4

    4答えて

    Javaの場合は、final class Carを提供するライブラリを使用し、インターフェイスを実装したい場合があります。Truckクラス内でVehicleとして扱います。しかし、Carは最終的なもので、インターフェースを実装していません。 他の車両のように他の人の最終Carクラスを私のVehicleインターフェイスにキャストするにはどうすればいいですか? Vehicleのすべてのインスタンスメソ

    6

    3答えて

    私は2つのクラスを持っています。 クラスA:彼らは同じインタフェースまたは抽象クラスを共有していない class B() { public void QQ() {} public void WW() {} } : class A() { public void QQ() {} public void WW() {} } とクラスB。 AとBには2

    6

    2答えて

    私はDが新しく、コンパイル時にチェックされたダックタイピングが便利かどうかは疑問でした。 たとえば、一連のメソッドを定義し、それらのメソッドを関数に渡す型に対して定義する必要があります。これは、D型のinterfaceと少し異なります。なぜなら、「型XはインタフェースYを実装する」と宣言する必要がないからです。メソッドが見つかるか、コンパイルが失敗します。また、これが構造体やクラスだけでなく、どの