答えて
答えははいですが、警告があります。 func
の種類は何ですか?最初の引数は型であり、値ではないようです。後で...
がEnum
の導出の詳細は、あなたが連続のコンストラクタをオフに一覧表示する機能を取得し、Bounded
を導出することは、あなたに「最初に」とこの列挙の「最後」の要素を取得する機能を取得します取得します。
data Class = Class1
| Class2
| Class3
deriving (Show, Eq, Enum, Bounded)
その後、我々はenumFromTo minBound maxBound
(または単に[minBound .. maxBound]
)を介してすべての要素のリストを取得することができます。
ただし、func
の最初の質問に戻ってください。引数として型を渡す必要があります。これを行う通常の方法は、Proxy
とScopedTypeVariables
を使用しています。
{-# LANGUAGE ScopedTypeVariables #-}
import Data.Proxy (Proxy(..))
func :: forall a. (Enum a, Bounded a, Show a) => Proxy a -> [String]
func Proxy = map show $ enumFromTo minBound (maxBound :: a)
GHCiのでこれを試してみてください:の
ghci> func (Proxy :: Proxy Class)
["Class1","Class2","Class3"]
ghci> func (Proxy :: Proxy Bool)
["True","False"]
あなたの答えはより教育的であり、おそらくより完全なものですが、より簡単に自分のニーズを満たすためにのみ、私は他を受け入れます。あなたの返信をありがとう! – FutureShocked
私は他の答えが質問に設定された条件を満たすとは思わない。すでに "Class1"を使用できるのであれば、他のものも使用してみてはいかがですか? – karakfa
@karakfaあなたのコメントは多分他の答えを意図していましたか?私はそれがここにどのように適用されるかはわかりません... – Alec
:
data Class = Class1
| Class2
| Class3
deriving (Show, Eq)
私はこれらのように、それぞれの文字列バージョンを含む文字列のリストを構築するための簡単な方法はあります
data Class = Class1 | Class2 | Class3 deriving (Show, Eq, Enum)
GHCiの:
あなたは、おそらく、このような何かを行うことができますこれはまさに私が探していたものです!ありがとう! – FutureShocked
@FutureShocked私はAlecの答えがはるかに良いと思う。あなたは私の代わりにそれを受け入れるべきです。 –
- 1. 文字列データのリストから辞書のリストを作成できますか?
- 2. リストを作成しても文字列を取得できますか?
- 3. 特定のキーワードの文字をまとめて文字列からPythonリストを作成できますか?
- 4. typescriptで文字列名を使用して新しいクラスを作成する
- 5. 文字列からクラスを作成してコマンドパターンを使用する
- 6. 文字列ビルダーまたは文字列クラスの文字列を作成する
- 7. 特定の機能をクラスを作成して呼び出す - 文字列リスト
- 8. パフォーマンス - 文字列コンストラクタを使用し、連結を使用して
- 9. 文字列のリストを使用していますか?
- 10. 別のクラスのコンストラクタを使用した文字列配列の埋め込み
- 11. whileループを使用して文字列配列を作成してリストとして使用する方法
- 12. 各リストの要素数が一定の文字列からネストされたリストを作成します
- 13. 文字列のリスト内の文字列を探して、パンダに新しい列を作成します。
- 14. do構文を使用してリストを作成しますか?
- 15. 文字列を使用してパンダのデータフレームを作成する
- 16. 文字列を使用してプログラムでテーブルレイアウトを作成する
- 17. 文字列に基づいて文字列のリストからサブリストを作成
- 18. 文字列を使用してクラス参照を作成する方法
- 19. 文字列のリストの名前を作成します。
- 20. 再帰を使用してJSON文字列を作成する(文字列レプリケート)
- 21. ピカソを使用して文字列と画像の文字列を使用してListViewを作成
- 22. SQL Serverのcase文を使用して文字列を作成できますか?
- 23. 文字列のリストを使用してオブジェクトを動的に作成しますか?
- 24. groovy:すべての文字列で値のリストを作成します。
- 25. Javaで列挙型を使用してコンストラクタを作成する
- 26. リストの文字列に文字を置き換えて、それぞれのコピーを作成します。
- 27. は別のものを使用して文字列の新しいリストを作成しますが、重複
- 28. コンストラクタを使用して文字列を転送する。エラー
- 29. 複数のテキストボックステキストを使用してJSON文字列を作成
- 30. oracleで文字列を使用してシリアル番号を作成
ソート... 'func'の種類は何を? – Alec