看板 Ruby 關於我們 聯絡資訊
Parallel Assignment 也算 Ruby 一個很有趣的表達方式 今天在看 Programming Ruby 的時候 發現他有新的玩法 def returnParallel return 1 , "haha" end num , s = returnParallel() 看 return 不只能回傳一個 variable 他還可以回傳 Parallel Variable 並且 Receiver 可以 Parallel 去接回傳值 如果在 JAVA 的話 我如果要回傳多個值 我會採取 new 一個 Object contain 所有的回傳值 然後再將這個 Object 回傳回去 比如像是這樣 public returnObject lala(){ returnObject obj = new returnObject(); obj.setNumber(1); obj.setString("haha"); return obj; } returnObject recObj = lala(); num = recObj.getNumber() ; s = recObj.getString() ; 當然實做方式也不難 但是跟Ruby的方式比起來,略嫌囉唆了點 至於 Ruby 是怎麼實做這種特異功能的? def returnParallel return 1 , "haha" end lala = returnParallel() puts lala.class 結果出現 Array 所以答案很明顯了 Ruby只不過是 return prarllel 時,將 return值轉成 Array 其實他還是只回傳一個 Array Object 並沒有使用嶄新的設計 但是就算是這樣 也遠遠的比其他 Language 來得方便跟簡潔 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 203.70.178.127