diff --git "a/\346\225\260\345\200\244/\344\271\261\346\225\260\343\202\222\345\276\227\343\202\213.md" "b/\346\225\260\345\200\244/\344\271\261\346\225\260\343\202\222\345\276\227\343\202\213.md" index ec469bc..410d723 100644 --- "a/\346\225\260\345\200\244/\344\271\261\346\225\260\343\202\222\345\276\227\343\202\213.md" +++ "b/\346\225\260\345\200\244/\344\271\261\346\225\260\343\202\222\345\276\227\343\202\213.md" @@ -45,6 +45,7 @@ Haskell 98標準に準拠したライブラリ。 Int型の整数から乱数の種をつくるには関数mkStdGenを使います。 ```haskell +-- random > :module System.Random > mkStdGen 8 9 1 @@ -66,6 +67,8 @@ mkStdGen :: Int -> StdGen 起動のたびに異なる乱数の種を取得するにはIO値getStdGenを使います。 ```haskell +-- random +> :module System.Random > getStdGen 852161251 1 ``` @@ -88,6 +91,8 @@ getStdGen :: IO StdGen 乱数の種から乱数を得るには関数randomを使います。 ```haskell +-- random +> :module System.Random > g = mkStdGen 8 > random g (-398575370259562870,1380072070 2103410263) @@ -120,6 +125,18 @@ getStdGen :: IO StdGen ##### 無限乱数列を取得する +乱数をひとつずつ作っていくかわりに、生成されるすべての乱数を含む、 +無限数列を作ることができます。 +このような無限リストを作るには関数randomsを使います。 + +```haskell +-- random +> :module System.Random +> g = mkStdGen 8 +> take 100 $ randoms g +[-398575370259562870,-6370604356117182359,8399777519602674086,... +``` + ##### IO内で簡単に乱数を取得する ##### 乱数の範囲を指定する