新手问题 赋值问题

ask_acct · May 28, 2014 · Last by ask_acct replied at May 30, 2014 · 1590 hits

irb 内执行

doc.elements.each("library/section") { |e| puts e.attributes["name"] } 

结果为 Ruby

但是

subWorkFlowPath = doc.elements.each("library/section") { |e| e.attributes["name"] } 
puts subWorkFlowPath 

结果为大部分的原始 XML 内容 The Ruby Way Hal Fulton

请问赋值后为什么输出就会改变?

谢谢

两个代码都不一样

#1 楼 @chenge 贴错了,已经修改

ruby所有的方法都有返回值,Array#each返回数组本身,即puts subWorkFlowPathputs doc.elements是一样的

赋值后应该是这个内容:doc.elements。显然不一样。

你的需求应该subWorkFlowPath = doc.elements.map("library/section") { |e| e.attributes["name"] }

#5 楼 @piecehealth 明白了,感谢回复,谢谢

You need to Sign in before reply, if you don't have an account, please Sign up first.