Haskell koduna ve modülleri kullanmaya başlamak için haskell öğreniyorum ve bazı küçük test programlarını yazmayı denemeye karar verdim. Şu anda Cypto.PasswordStore kullanarak şifre karma oluşturmak için ilk argümanı kullanmaya çalışıyorum. Programımı test etmek için ilk argümandan bir karma oluşturmaya çalışıyorum ve sonra hash'ı ekrana yazdırmaya çalışıyorum. Ben referans olarak aşağıdaki bağlantıları kullanarak oldumStrLn a Data.ByteString.Internal.ByteString nasıl yerleştirilir?
testmakePassword.hs:8:19:
Couldn't match expected type `String'
with actual type `IO Data.ByteString.Internal.ByteString'
In the return type of a call of `makePassword'
In the first argument of `putStrLn', namely
`(makePassword (head args) 12)'
In a stmt of a 'do' block: putStrLn (makePassword (head args) 12)
ama sadece boşuna deneme-erroring ben şimdi:
import Crypto.PasswordStore
import System.Environment
main = do
args <- getArgs
putStrLn (makePassword (head args) 12)
aşağıdaki hatayı alıyorum. http://hackage.haskell.org/packages/archive/bytestring/0.9.0.4/doc/html/Data-ByteString-Internal.html http://hackage.haskell.org/packages/archive/pwstore-purehaskell/2.1/doc/html/Crypto-PasswordStore.html
Teşekkür ! Bu benim için çalışıyor. Kod, kullanımdan kaldırılmış bir işlev hakkında uyarıyor, ancak cevap, ihtiyacım olan şey. _Warning: "B.putStrLn" (Data.ByteString kaynağından içe aktarılan) kullanımında: Kullanımdan kaldırıldı: "Use Data.ByteString.Char8.putStrLn yerine_ – NerdGGuy
@NerdGGuy" Data.ByteString "işlevini tamamen kullanalım ve sadece kullanalım .. Data.ByteString.Char8' yerine daha sonra (düzenleme bakınız) Büyük – AndrewC
kullanma Data.ByteString.Char8 bana mantıklı – NerdGGuy