diff --git a/extra/io/random/random.factor b/extra/io/random/random.factor index 47abdec2ed..3055919641 100644 --- a/extra/io/random/random.factor +++ b/extra/io/random/random.factor @@ -1,8 +1,9 @@ ! Copyright (C) 2012 John Benediktsson ! See http://factorcode.org/license.txt for BSD license -USING: combinators fry io kernel locals math math.order random -sequences sequences.private ; +USING: combinators destructors fry io io.encodings.binary +io.files io.streams.limited io.streams.random kernel locals +math math.order random sequences sequences.private ; IN: io.random @@ -26,3 +27,10 @@ PRIVATE> r n < [ line r accum set-nth-unsafe ] when ] if ] each-numbered-line accum ; + +: random-file ( n path -- ) + [ + [ <random-stream> swap limit-stream ] + [ binary <file-writer> ] bi* + [ &dispose ] bi@ stream-copy + ] with-destructors ;