irb(main):069:0> a="string"
=> "string"
irb(main):070:0> a.object_id
=> 113672970
irb(main):071:0> a.upcase.object_id
=> 113665130
irb(main):072:0> a.upcase!
=> "STRING"
irb(main):073:0> a.object_id
=> 113672970
irb(main):074:0>
[b]问题补充:[/b]
require 'find'
def find_all_png(dir)
files = []
Find.find(dir) do |path|
if File.extname(path) =~ /.png/i && File.file?(path)
yield path if block_given?
files << path
end
end
files
end
find_all_png('.') {|path| puts path },如程序,关联block传递给函数find_all_png,函数内有一个内层block,内层block的yield取{|path| puts path },并执行这个block吗?