:하스켈 다이어그램 오류 : "다이어그램을 선택하지 않았습니다." 나는 다음과 같은 주요 기능을 사용하여 다이어그램 세트를 만들려고하고
main = mainWith [("here0", myDiagram), ("here1", myDiagram)]
을 다음과 같은 오류가 점점 오전 :
No diagram selected.
Available diagrams:
here0 here1
이 오류가 무엇을 의미하는지 어떤 생각을?
자세한 내용 :
내 "myDiagram는"유형이 있습니다
myDiagram :: Diagram B
및 주요 기능 대신 때 프로그램이 제대로 작동합니다
main = mainWith myDiagram
편집 :
의견에 감사드립니다. 링크 된 명령 줄 튜토리얼을보고 가능한 한 가깝게 (-s 옵션을 지정하는 것을 포함하여) 계속 시도했지만 여전히 동일한 문제로 실행 중입니다. 여기에 내가했던 정확히 무엇 :
는 파일 "Animation.hs"를 만든 :와,
ghc --make Animation.hs
렌더링하는 데 사용할 수있는 다이어그램을 표시 :
./Animation --list
{-# LANGUAGE NoMonomorphismRestriction #-}
import Diagrams.Prelude
import Diagrams.Backend.SVG.CmdLine
main = mainWith [("myBlue", myBlue), ("myGreen", myGreen)]
myBlue :: Diagram B
myBlue = circle 1 # lw none # fc blue
myGreen :: Diagram B
myGreen = circle 1 # lw none # fc green
를 통해 그것을 컴파일
예상대로 반환 됨 :
Available diagrams:
myBlue myGreen
는 그러나 마침내 통해 .svg 년대 중 하나 생성을 시도 :
./Animation -o out.svg -w 400 -s myBlue
은 반환 내가 부족하지만 보일 수없는 간단한 무언가가 있어야합니다 같은
No diagram selected.
Available diagrams:
myBlue myGreen
내 기분이 그것을 찾으려면 - "my blue"와 함께 나열된 사용 가능한 다이어그램을 지정합니다.
명명 된 조회 목록의 기능을 설계했을 때 생각했던 것이 궁금합니다. 그것은 꽤 쓸모없는 것, 또는 명령 행에서 전달되는 임의의 매개 변수를 허용하는 함수 인스턴스와 비교할 때 적어도 비효율적입니다. – leftaroundabout
@leftaroundabout 정말 이상합니다. 내가 생각할 수있는 유일한 것은 다이어그램의 슬라이드 쇼를 배열하는 특이한 방식이라는 것입니다. – duplode