我有類似的代碼工作,但使用getWord8和getWord32le爲什麼getFloatle給我錯誤?爲什麼變量不在範圍內?
import qualified Data.ByteString.Lazy as BS
import Data.Word
import Data.Bits
import Data.Binary.Get
readfloat :: BS.ByteString -> Int -> Float
readfloat contents startpos = runGet getFloatle (BS.drop (fromIntegral startpos) contents)
main :: IO()
main = do
let myfile = "DATA.BIN"
contents <- BS.readFile myfile
let stuff = readfloat contents 1042346125
print stuff
得到以下錯誤:
test2.hs:7:38: error:
Variable not in scope: getFloatle :: Get Float
你能顯示你的類似代碼嗎? – Sibi
你有哪個版本的二進制包? 'getFloatle'和朋友在[最新](https://hackage.haskell.org/package/binary-0.8.4.1/docs/Data-Binary-Get.html),但不是隨機挑選的[0.8。 1.0](https://hackage.haskell.org/package/binary-0.8.1.0/docs/Data-Binary-Get.html)。 – gspr
我使用https://haskell.org/platform/download/8.0.1/haskell-platform-8.0.1-unknown-posix--full-x86_64.tar.gz來安裝,它應該是最新的。 Cabal顯示了二進制包的0.8.3.0。 – Vlam