做七周七語言ruby第二天習(xí)題的時候要實現(xiàn)一個簡單的Tree類,以下代碼可以運行,但是把children.each{|c|c.visit_all(n+1){|node|puts"-#{node.node_name}"}}這行的{|node|puts"-#{node.node_name}"}改成&block就跑不起來,請問是為什么?#!/usr/bin/rubyclassTreeattr_accessor:children,:node_namedefinitialize(tree)tree.eachdo|key,value|@node_name=key@children=value.map{|(key,value)|Tree.new(key=>value)}endenddefvisit_all(n,&block)visit&blockprint''*nchildren.each{|c|c.visit_all(n+1){|node|puts"-#{node.node_name}"}}enddefvisit(&block)block.callselfendendruby_tree=Tree.new({'grandpa'=>{'day'=>{'child1'=>{},'child2'=>{}},'uncle'=>{'child3'=>{},'child4'=>{}}}})ruby_tree.visit_all(1){|node|puts"-#{node.node_name}"}ps:ruby環(huán)境是2.1.3
ruby block問題
德瑪西亞99
2019-04-14 11:21:18