[#99868] [Ruby master Bug#17144] Tempfile.open { ... } does not unlink the file — eregontp@...
Issue #17144 has been reported by Eregon (Benoit Daloze).
15 messages
2020/09/03
[ruby-core:99991] [Ruby master Bug#13094] Zlib::GzipReader eof?がfalseなのにgetsでnilが返ってくる
From:
merch-redmine@...
Date:
2020-09-11 20:17:09 UTC
List:
ruby-core #99991
Issue #13094 has been updated by jeremyevans0 (Jeremy Evans).
I've added a pull request to zlib to document this difference in #gets behavior: https://github.com/ruby/zlib/pull/18
----------------------------------------
Bug #13094: Zlib::GzipReader eof?がfalseなのにgetsでnilが返ってくる
https://bugs.ruby-lang.org/issues/13094#change-87537
* Author: iehn (Hironao TSUTSUMIDA)
* Status: Open
* Priority: Normal
* ruby -v: ruby 2.4.0preview2 (2016-09-09 trunk 56129) [x86_64-darwin15]
* Backport: 2.2: UNKNOWN, 2.3: UNKNOWN, 2.4: UNKNOWN
----------------------------------------
下記のように、eof?がfalseであればgetsでnilが返ってくることはないことを期待してるとエラーが起きてしまいます。
zlibでeof?は非推奨でしょうか?
~~~ ruby
require 'zlib'
o = ('!'..'~').to_a
i = 225
1000.times do
Zlib::GzipWriter.open('./s.gz') do |gz|
i.times do
gz.write(o.sample(10)*""+"\n")
end
end
Zlib::GzipReader.open("./s.gz") { |gz| puts gz.gets.chomp! until gz.eof? }
puts "#{i}, #{File.size('./s.gz')}"
if File.size('./s.gz') > 2058
i -= 1
else
i += 1
end
end
~~~
~~~ ruby
-:10:in `block (2 levels) in <main>': undefined method `chomp!' for nil:NilClass (NoMethodError)
from -:10:in `open'
from -:10:in `block in <main>'
from -:4:in `times'
from -:4:in `<main>'
~~~
---Files--------------------------------
s.gz (2.01 KB)
--
https://bugs.ruby-lang.org/
Unsubscribe: <mailto:ruby-core-request@ruby-lang.org?subject=unsubscribe>
<http://lists.ruby-lang.org/cgi-bin/mailman/options/ruby-core>