Haskell 从文件获取输入时出错
主要功能:Haskell 从文件获取输入时出错,haskell,io,functional-programming,Haskell,Io,Functional Programming,主要功能: main = do x <- getLine lines <- replicateM x getLine print $ lines main=do xreplictem类似于replictem::Monad m=>Int->ma->m[a] 其中asgetLine::IO字符串 “x”需要是Int,但是getLine返回一个IO字符串, 您可以执行读取x::Int: main = do x <- getLine lines <- rep
main = do
x <- getLine
lines <- replicateM x getLine
print $ lines
main=do
xreplictem类似于replictem::Monad m=>Int->ma->m[a]
其中asgetLine::IO字符串
“x”需要是Int
,但是getLine
返回一个IO字符串
,
您可以执行读取x::Int
:
main = do
x <- getLine
lines <- replicateM (read x :: Int) getLine
print $ lines
main=do
xreplictem类似于replictem::Monad m=>Int->ma->m[a]
其中asgetLine::IO字符串
“x”需要是Int
,但是getLine
返回一个IO字符串
,
您可以执行读取x::Int
:
main = do
x <- getLine
lines <- replicateM (read x :: Int) getLine
print $ lines
main=do
x确实readLn
将x
作为IO a
获取,其中a
是上下文中需要的类型。由于replicitem
需要Int
,因此编译器推断a~Int
。如果replicitem
没有精确地修复a
的话,就会发生歧义错误。实际上readLn
会将x
作为IO a
获取,其中a
是上下文中需要的类型。由于replicitem
需要Int
,因此编译器推断a~Int
。如果replicateM
没有精确地修复a
,就会发生歧义错误。x
是一个字符串(也称为字符列表),而replicateM
需要一个int-什么不清楚?x
是一个字符串(称为字符列表),而replicateM
需要一个int-什么不清楚?
main = do
x <- readLn
lines <- replicateM x getLine
print $ lines