看板 Programming 關於我們 聯絡資訊
※ 引述《lingcandy (candyling)》之銘言: : 小妹最近剛開始接觸 scala : 在此之前 有接觸過java 但對 functional programming沒有接觸過 : 最近讀到 scala的英文教學書裡的 symbol literal 實在不是很了解 : 去爬了很多文發現他很像 ruby 裡的 symbol : 根據自己的理解 主要的概念 就是說 symbol可以自訂identifier : (如果也什麼錯誤或觀念需要釐清的可以指證我 謝謝~~~) 比較簡單的想法是把他想成和數值 literal 和字串 literal 是類似的東西, 例如你寫 1 的話會是整數 1,1L 會是長整數 1,"Hello World" 是一個字串一樣。 : compile: : scala> updateRecordByName(favoriteAlbum, "OK Computer") : <console>:6: error: not found: value favoriteAlbum : updateRecordByName(favoriteAlbum, "OK Computer") : Instead, and almost as concisely, you can pass a symbol literal: : scala> updateRecordByName('favoriteAlbum, "OK Computer") : 想請問各位大大 : 這邊有點不懂QQ 為什麼直接寫favoriteAlbum會有錯呢?? 因為寫 favoriteAlbum 的話,會去找 favoriateAlbum 這個變數/函式這些, 但你沒有宣告過這個變數,自然會找不到 'favoriteAlbum 的話,則是一個型態與 Symbol 相符的常數,所以可以丟到 updateRecordByName 裡面。 -- ~ 白馬帶著她一步步地回到中原。白馬已經老了,只能慢慢地走, 'v' Brian Hsu 但終是能回到中原的。江南有楊柳、桃花,有燕子、金魚…… // \\ ( 墳 墓 ) /( )\ 但這個美麗的姑娘就像古高昌國人那樣固執。 【白馬嘯西風】 ^`~'^ http://bone.twbbs.org.tw/blog 『那都是很好很好的,可我偏不喜歡。』 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.109.19.194
lingcandy:喔喔!我了解了!!謝謝b大!! ^_^111.240.182.141 10/02 11:15
lingcandy:不好意思可否再請問在SCALA中assignment111.240.182.141 10/02 11:32
lingcandy:觀念,有看到文章說到Assignment result111.240.182.141 10/02 11:33
lingcandy:值是unit valu,type也是unit type,所111.240.182.141 10/02 11:34
lingcandy:以在print(n=10)的 res 是unit,但為何111.240.182.141 10/02 11:35
lingcandy:又可以在宣告變數時直接使用val n=10呢?111.240.182.141 10/02 11:35
lingcandy:=不是就是unit value 為何val n=10可以111.240.182.141 10/02 11:36
lingcandy:得到 res n:Int = 10的結果呢??111.240.182.141 10/02 11:36
mars90226:unit type應該類似Java的null 140.112.16.139 10/02 11:48
Chikei:unit type = java/c的void,print(n=10) 211.72.92.133 10/02 18:30
Chikei:type是unit指的是print這個函數不return東 211.72.92.133 10/02 18:31
Chikei:...別管上面我搞笑了orz 211.72.92.133 10/02 18:34
Chikei:因為val n = 1是val n:Int = 1的簡寫 211.72.92.133 10/02 18:36
Chikei:val x = (n = 1)這才會得到x: Unit 211.72.92.133 10/02 18:41
Chikei:還有是assignment "expression"才是unit 211.72.92.133 10/02 18:43
Chikei:(var = value)才是unit,不是= 211.72.92.133 10/02 18:44
suhorng:val variable = expr 這是 binding, 140.112.16.131 10/02 19:12
suhorng:不是 assignment 140.112.16.131 10/02 19:12
suhorng:unit **不是** null 140.112.16.131 10/02 19:12
mars90226:欸我耍蠢了...抱歉orz 1.171.60.108 10/02 21:06
lingcandy:恩恩我懂了 謝謝大家幫忙解惑^_^ 1.164.21.217 10/16 11:07