Re: [問題] SCJP6.0

看板java作者 (sbr)時間16年前 (2009/08/04 17:02), 編輯推噓1(1011)
留言12則, 4人參與, 最新討論串6/8 (看更多)
※ 引述《Schelfaniel (Schelfaniel)》之銘言: : 可是 Java 還是走 OO,所以寫 Clojure 時,會有一半以上, : 實際上是會帶 OO 感覺的函式語言,這有點沒辦法, : 因為物件是會變的, : (let [java-object ...] : (process1 java-object) : (process2 java-object)) : 像這樣在純函式語言,應該要可以保證 執行 process2 時的 java-object, : 和執行 process1 時的一樣,但是,它既然是 java-object, : 在 process1 裡面就可以進行內容修改如 .setXXXX 之類的, : 這種就讓 Clojure 沒辦法那麼純了。 請問標記為綠色這一段描述,你在哪些文件有看到這樣子的定義(關於 functional programming language)? 如果 let construct 裡把一個 vector object binding 到 java-object,一樣會有 process1 與 process2 在執行時所處理的 object 的狀態是相異的。 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 218.173.140.221

08/04 17:04, , 1F
建議換個標題續繼 :D
08/04 17:04, 1F

08/04 17:11, , 3F
computer_science)
08/04 17:11, 3F

08/04 17:20, , 4F
謝謝提供這項資訊。但 Referential transparency 與
08/04 17:20, 4F

08/04 17:22, , 5F
Schelfaniel 講的特性似乎不是同一回事?
08/04 17:22, 5F

08/04 20:22, , 6F
函數式語言的變數,都是不變的吧,但物件導向有可能變
08/04 20:22, 6F

08/04 20:29, , 7F
也就是說,如果process1要變,變化會放在它的傳回值
08/04 20:29, 7F

08/04 20:30, , 8F
像是這樣 (process2 (process1 java-object)) 取其變
08/04 20:30, 8F

08/04 21:27, , 9F
變數所在的 location 的內容(value)不變,跟物件狀態不變
08/04 21:27, 9F

08/04 21:29, , 10F
是兩件事。你提到的現象不是由使用 Java object 而引起。
08/04 21:29, 10F

08/04 21:54, , 11F
抱歉,我錯了。我以為Clojure是Common LISP compliant。
08/04 21:54, 11F

08/04 22:18, , 12F
Common Lisp 設計上就是多維度的,沒 Clojure 純
08/04 22:18, 12F
文章代碼(AID): #1AT_aj8b (java)
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 6 之 8 篇):
問題
2
7
問題
1
12
問題
2
3
問題
1
1
問題
1
4
文章代碼(AID): #1AT_aj8b (java)