我刚刚在我的Ubuntu机器上安装了Ruby,并且这样做了:
$ ruby --version
ruby 1.9.3p0 (2011-10-30 revision 33570) [i686-linux]
$ ruby
p File.basename("foo")
p File.exist("foo")
"foo"
-:2:in `<main>': undefined method `exist' for File:Class (NoMethodError)
Run Code Online (Sandbox Code Playgroud)
我读的方式文件文档页面,应该不是这个工作?
Jas*_* FB 51
从Ruby 3.2.0开始,exists?(复数)别名似乎exist?已被删除。
对于Ruby 3.2.0,请务必使用单数形式exist?
% rvm use 3.1.3
Using /Users/jason/.rvm/gems/ruby-3.1.3
jason@MBA22.local /Users/jason/Work/Hot_Glue/Example Apps/AltLookup1 [main]
% irb
3.1.3 :001 > File.exist?("xyz")
=> false
3.1.3 :002 > File.exists?("xyz")
=> false
3.1.3 :003 > exit
jason@MBA22.local /Users/jason/Work/Hot_Glue/Example Apps/AltLookup1 [main]
% rvm use 3.2.0
Using /Users/jason/.rvm/gems/ruby-3.2.0
jason@MBA22.local /Users/jason/Work/Hot_Glue/Example Apps/AltLookup1 [main]
% irb
3.2.0 :001 > File.exist?("xyz")
=> false
3.2.0 :002 > File.exists?("xyz")
(irb):2:in `<main>': undefined method `exists?' for File:Class (NoMethodError)
Did you mean? exist?
from /Users/jason/.rvm/rubies/ruby-3.2.0/lib/ruby/gems/3.2.0/gems/irb-1.6.2/exe/irb:11:in `<top (required)>'
from /Users/jason/.rvm/rubies/ruby-3.2.0/bin/irb:25:in `load'
from /Users/jason/.rvm/rubies/ruby-3.2.0/bin/irb:25:in `<main>'
Run Code Online (Sandbox Code Playgroud)
你?在最后忘记了问号():
File.exist? 'foo'
File.exists? 'foo'
Run Code Online (Sandbox Code Playgroud)
一般来说,回答问题的方法总是以问号结束.
在这种情况下,该方法是问File这个does 'foo' exist?问题.该课程将返回答案.
| 归档时间: |
|
| 查看次数: |
4652 次 |
| 最近记录: |