summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorTomoyuki Sahara <[email protected]>2017-06-12 16:17:53 +0900
committerGitHub <[email protected]>2017-06-12 16:17:53 +0900
commitfe99819bc996891ea97c10446ca3e495c77d790f (patch)
treea9bb7ecfec16f26055f74fb7d101ea4c9dfe7d3e
parentc279f00109267346d3df3bcf0c513aecf2f1bb6e (diff)
parent1ebe1c8b1f11d1c2975c4370a4fd3c566132c9d7 (diff)
downloadmruby-fe99819bc996891ea97c10446ca3e495c77d790f.tar.gz
mruby-fe99819bc996891ea97c10446ca3e495c77d790f.zip
Merge pull request #85 from ksss/read
Support outbuf argument for IO#read
-rw-r--r--mrblib/io.rb9
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)