chapter 12 of Real World Haskell을 작성 중입니다. 이 장에서는 저자가 EAN13 encoding으로 바코드 인식을 수행하는 방법을 설명합니다. EAN13 하스켈의 바코드 인코딩 : 어떻게 테스트합니까?
나는 the book snippets into my repo에서 코드의 대부분을 재현 드디어 코드 내 300 개 이상의 행이 예상 워킹으로 어디에 있는지 확인하기 위해 도착했을 때, 나는 나쁜 소식이있어 : 책이 출판 된 이후-- Finding the Correct Sequence
*Main> let input = zip (runLengths $ encodeEAN13 "9780132114677") (cycle [Zero, One])
*Main> listToMaybe . solve . candidateDigits $ input
Just [0,2,0,1,0,0,0,0,0,0,0,0,1] -- WRONG Actual
Just [9,7,8,0,1,3,2,1,1,4,6,7,7] -- Expected
을 내가 마지막에서 제외 GHCi의 모든 예를 재현하기 위해 노력하고
$ ghci
GHCi, version 7.10.3: http://www.haskell.org/ghc/ :? for help
Prelude> import qualified Data.Map as M
Prelude M> :t M.lookup
M.lookup :: Ord k => k -> M.Map k a -> Maybe a
-- in the book: M.lookup :: (Ord k, Monad m) => k -> M.Map k a -> m a
난 항상 책과 같은 결과를 얻을 : 같은, 나는 어떤 종류의 서명이 변경났습니다.
누군가가이 책에서 그 주제를 커버하고있다?
저자는 특히 모든 단일 코드의 라인을, 설명되지는 input
변수가 어디 let input = zip (runLengths $ encodeEAN13 "9780132114677") (cycle [Zero, One])
테스트를 위해 일부 EAN13 인코딩 된 바코드 정의되지 않는 이유는 무엇입니까?
*Main M> encodeEAN13 "9780132114677"
"101011101100010010100111001100101000010101011011001100110110011010111001010000100010010001001010000101"
함수 내 시험이 올바른지 확인하려면 : 아무도이 책을 모르는 경우
, 당신은 EAN13의 일부 샘플 같은 바코드 인코딩 것?
미리 당신의 일의의 순서와 0의 세 가지 문제가있는 것 같습니다
고맙습니다! 완벽하게 작동했습니다. – mabe02