0
여기에 유형을 정의하고 makeLenses
을 사용하여 렌즈를 생성하는 간단한 코드가 있습니다.하스켈 : makeLenses - 데이터 생성자가 범위에 없음
module Api.Jira.Types.Search
(
SearchRequest(..)
) where
import GHC.Generics
import qualified Data.Text as T
import Data.Aeson (FromJSON, ToJSON)
import Control.Lens
import Data.Aeson
import Data.Aeson.Types
data SearchRequest = SearchRequest
{ _jql :: T.Text
, _startAt :: Maybe Int
, _maxResults :: Maybe Int
, _fields :: Maybe [T.Text]
, _expand :: Maybe [T.Text]
, _properties :: Maybe [T.Text]
} deriving (Show, Generic)
instance ToJSON SearchRequest where
toJSON = genericToJSON defaultOptions {
fieldLabelModifier = drop 1 }
instance FromJSON SearchRequest where
parseJSON = genericParseJSON defaultOptions {
fieldLabelModifier = drop 1 }
makeLenses SearchRequest''
이것은 오류가 발생
: 나는 SO에이 다소 관련 문제를 발견
Data constructor not in scope: SearchRequest'' :: template-haskell-2.11.1.0:Language.Haskell.TH.Syntax.Name • Perhaps you meant one of these: ‘SearchRequest’ (line 20), variable ‘searchRequest’ (line 39)
,하지만 그들은 선언 순서에 관련된 모든 종류의 포함하기 때문에, 여기에 적용하지 않는 것 SearchRequest
에 이미 정의되어 있습니다.
이 원인을 어떤 아이디어가?
하하 외. 글쎄, 그건 당황 스럽네 ... 빠른 응답 주셔서 감사합니다, 시간 제한이 만료되면 동의합니다. – theduke