[分享] 另一個 Parallel Assignment 玩法

看板Ruby作者 (lala)時間18年前 (2006/05/24 09:13), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串1/8 (看更多)
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
文章代碼(AID): #14SxDJvO (Ruby)
討論串 (同標題文章)
文章代碼(AID): #14SxDJvO (Ruby)