看板 java 關於我們 聯絡資訊
小弟個人比較熟悉的語言是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
fireslayer: tail-recursive表現跟一般遞迴不一樣 05/07 11:19
fireslayer: keyword: tail recursive(recursion) 05/07 11:21
ireullin: 謝謝,尾遞迴的方式我懂了 05/07 11:36
sivid: 你似乎把List當mutable用? 05/07 16:27
sivid: scala.collection.mutable scala.collection.immutable 05/07 16:28
sivid: 兩種不一樣 05/07 16:28
ireullin: 了解,是因為programming in scala中大部分都使用 05/07 17:19
ireullin: list當範例,所以才想說是不是我哪裡搞錯了 05/07 17:20