From c7cd4a3c1aff50879dcb5a9400e3fdb721925638 Mon Sep 17 00:00:00 2001 From: Yoshikuni Jujo Date: Wed, 17 May 2017 12:02:13 +0900 Subject: [PATCH] =?UTF-8?q?=E6=95=B0=E5=80=A4:=20=E4=B9=B1=E6=95=B0?= =?UTF-8?q?=E3=82=92=E5=BE=97=E3=82=8B=20(=E9=80=94=E4=B8=AD)=20#4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...60\343\202\222\345\276\227\343\202\213.md" | 21 +++++++++++++++++++ 1 file changed, 21 insertions(+) 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 60064b2..25efc67 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" @@ -234,6 +234,27 @@ IO値randomIOは、手軽に乱数値を取得できる便利な値です。 ##### 乱数の種をふたつにわける +ふたつの系列の乱数値がほしいことがあります。 +たとえば、平面上のランダムな点のリストが必要なとき、などです。 +そのようなときには、関数splitを使って、乱数の種をふたつにわけます。 + +```haskell +-- random +> :module System.Random +> g = mkStdGen 8 +> g +9 1 +> (g', g'') = split g +> g' +10 40692 +> g'' +360126 2147483398 +> take 10 $ randomRs (1, 6) g' +[6,4,4,5,4,5,5,1,4,2] +> take 10 $ randomRs (1, 6) g'' +[1,5,4,2,3,4,1,4,5,1] +``` + ##### システムから新しい乱数の種を取り出す ### mwc-random