October 19, 2023

Viiisit [Ruby] - String vs Symbol!

#interview#ruby

字串與符號的差異?

字串(String):

Ruby string methods

1
2
3
4
5
6
str1 = "Hello"
str2 = "World"
result = str1 + " " + str2
# 或者
result = str1 << " " << str2
puts result # 輸出:Hello World
1
2
3
text = "Apple, Banana, Cherry"
items = text.split(", ")
puts items # 輸出:["Apple", "Banana", "Cherry"]

符號(Symbol):

Brief Summary

String 字串,主要用於表示 Text Data Type,是可變動的,可以在運行時更改。
而 Symbol 符號主要用於表示靜態或唯一的標識符,通常用於代表程式碼中的實體或概念,並且在整個程序運行期間保持不變。符號的主要優勢之一是它們的唯一性,可以減少內存使用,因為僅能創建一次並重複使用。

可以發現 string 在每新增一次都會產生一個新的記憶位置,
而在建立同一個 symbol 時,所指向的記憶體位置都相同。