[問題] scala使用上的一些疑問

看板java作者 (raison detre)時間10年前 (2015/05/07 11:15), 編輯推噓1(107)
留言8則, 3人參與, 最新討論串1/1
小弟個人比較熟悉的語言是ruby與c++ 目前在自學scala 已經可以用scala寫出一些簡單的東西 完成一些工作 多半是寫script取代ruby的腳色 雖然覺得還是ruby比較好用 但是就是把這些當作是練習所以故意用scala 但是過程中卻覺得有一些scala的精隨還沒辦法掌握 希望前輩們提點一下 如果不適合在這邊發問 請跟我說,我會把這篇文章刪除 1. List的用法或時機 我想在寫程式的時候遇到需要用 container 來儲存資料的機會很高 如java中 ArrayList<int> al = new ArrayList<int>(); for(int i=0; i<10; i++) al.add(i); 但在scala中 var list = List(0) for(i <- 1 to 9) list = i :: list list = list.reverse list 每次都回傳一個新的物件而不是將值儲存在物件自己本身 而且都插在最前面 最後使用的時候還要反過來 這樣效率真的有比較高? 還是說list根本不是在這種狀況下使用的 如果不是,建議是? 2. 尾遞迴指的是 遞迴我懂,但是很多地方都特別提到尾遞迴這個詞 有特殊的意義或用途嗎 3. DSL 的用途是 http://www.scala-lang.org/old/node/1403 雖然這篇裡頭有講 但我不是很能意會 以上 麻煩大家了 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 36.225.56.65 ※ 文章網址: https://www.ptt.cc/bbs/java/M.1430968522.A.309.html

05/07 11:19, , 1F
tail-recursive表現跟一般遞迴不一樣
05/07 11:19, 1F

05/07 11:21, , 2F
keyword: tail recursive(recursion)
05/07 11:21, 2F

05/07 11:36, , 3F
謝謝,尾遞迴的方式我懂了
05/07 11:36, 3F

05/07 16:27, , 4F
你似乎把List當mutable用?
05/07 16:27, 4F

05/07 16:28, , 5F
scala.collection.mutable scala.collection.immutable
05/07 16:28, 5F

05/07 16:28, , 6F
兩種不一樣
05/07 16:28, 6F

05/07 17:19, , 7F
了解,是因為programming in scala中大部分都使用
05/07 17:19, 7F

05/07 17:20, , 8F
list當範例,所以才想說是不是我哪裡搞錯了
05/07 17:20, 8F
文章代碼(AID): #1LIjZAC9 (java)
文章代碼(AID): #1LIjZAC9 (java)