diff options
| author | Tomoyuki Sahara <[email protected]> | 2017-06-12 16:17:53 +0900 |
|---|---|---|
| committer | GitHub <[email protected]> | 2017-06-12 16:17:53 +0900 |
| commit | fe99819bc996891ea97c10446ca3e495c77d790f (patch) | |
| tree | a9bb7ecfec16f26055f74fb7d101ea4c9dfe7d3e | |
| parent | c279f00109267346d3df3bcf0c513aecf2f1bb6e (diff) | |
| parent | 1ebe1c8b1f11d1c2975c4370a4fd3c566132c9d7 (diff) | |
| download | mruby-fe99819bc996891ea97c10446ca3e495c77d790f.tar.gz mruby-fe99819bc996891ea97c10446ca3e495c77d790f.zip | |
Merge pull request #85 from ksss/read
Support outbuf argument for IO#read
| -rw-r--r-- | mrblib/io.rb | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/mrblib/io.rb b/mrblib/io.rb index 8c4a80924..3ea839379 100644 --- a/mrblib/io.rb +++ b/mrblib/io.rb @@ -183,7 +183,7 @@ class IO nil end - def read(length = nil) + def read(length = nil, outbuf = "") unless length.nil? unless length.is_a? Fixnum raise TypeError.new "can't convert #{length.class} into Integer" @@ -215,7 +215,12 @@ class IO end end - array && array.join + if array.nil? + outbuf.replace("") + nil + else + outbuf.replace(array.join) + end end def readline(arg = $/, limit = nil) |
