2

Torus境界で折り返される 2D 配列を表すクラスを定義したいと思います。たとえば、対応する次元のサイズを超えるインデックスを使用して配列にアクセスすると、 position の要素が返されi mod arraysizeます。getしたがって、私のクラスはメソッドを次のように定義するだけでよいはずです。

class Torus a where
    get :: a -> Int -> Int -> b

この定義は不正確です。aは 2D 配列であると想定されておりb、配列に含まれる型である必要があります。これをどのように表現すればよいでしょうか。

ありがとう、

4

2 に答える 2

8

クラス内の型のみを探していたと思います:

class Torus t where
    get :: t a -> Int -> Int -> a

または、適切なインスタンスを探しましたか?

于 2012-05-29T09:06:19.163 に答える