0
ランダムに生成されたintが5未満であるかどうかを連続的にチェックする関数を記述しようとしています.5未満の場合は文字列に "e" eee "が生成され、ループから抜ける。文字列を更新するために可変状態を避ける
このHaskellコードが印刷さ1の間のランダムな値ならば - 10は、5未満である:
useInt :: Int -> Int
useInt x = x
test :: IO()
test = do
let l = "eee";
int <- randomRIO (1, 10) :: IO Int
if(int < 5) then
putStrLn "less"
else
putStrLn "greater"
test
しかし、私は可変状態を導入せずに文字列を変更する方法がわかりませんよ。この使用した擬似Haskellコードを達成するために
を使用することができます。
var mutableString = "" :
useInt :: Int -> Int
useInt x = x
test :: IO()
test = do
let l = "eee";
int <- randomRIO (1, 10) :: IO Int
while(mutableString != "eee"){
if(mutableString == "eee")
break out of loop
else
if(int < 5) then
mutableString = mutableString + "e"
putStrLn "less"
else
putStrLn "greater"
}
test
を任意のポインタの有効なハスケルに擬似コードの上に変換するために?