From: nagachika00@... Date: 2014-08-11T14:53:58+00:00 Subject: [ruby-dev:48466] [ruby-trunk - Bug #9865] frozen IO object causes RuntimeError with inspect and fileno Issue #9865 has been updated by Tomoyuki Chikanaga. Backport changed from 2.0.0: REQUIRED, 2.1: REQUIRED to 2.0.0: REQUIRED, 2.1: DONE r46151 and r46165 (partially) were backported into `ruby_2_1` branch at r47140. ---------------------------------------- Bug #9865: frozen IO object causes RuntimeError with inspect and fileno https://bugs.ruby-lang.org/issues/9865#change-48284 * Author: Akira Tanaka * Status: Closed * Priority: Normal * Assignee: * Category: * Target version: * ruby -v: ruby 2.2.0dev (2014-05-27 trunk 46150) [x86_64-linux] * Backport: 2.0.0: REQUIRED, 2.1: DONE ---------------------------------------- IO object を freeze すると、inspect や fileno が RuntimeError になるんですが、 これはよろしくないんじゃないかと思います。 ``` % ./ruby -e 'f = open("."); f.freeze; p f' -e:1:in `inspect': can't modify frozen File (RuntimeError) from -e:1:in `p' from -e:1:in `
' % ./ruby -e 'f = open("."); f.freeze; p f.fileno' -e:1:in `fileno': can't modify frozen File (RuntimeError) from -e:1:in `
' % ./ruby -v ruby 2.2.0dev (2014-05-27 trunk 46150) [x86_64-linux] ``` あるいは、なにか理由がありましたっけ? -- https://bugs.ruby-lang.org/