【发布时间】:2018-11-07 02:04:48
【问题描述】:
有人可以解释为什么s 是一个包含 4096 个字符的字符串
iex(9)> s = String.duplicate("x", 4096)
... lots of "x"
iex(10)> String.length(s)
4096
但它的内存大小只有几个 6 个字?
iex(11)> :erts_debug.size(s)
6 # WHAT?!
以及为什么s2 的字符串比s 短得多
iex(13)> s2 = "1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20"
"1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20"
iex(14)> String.length(s)
50
但它的大小比s多了3个字?
iex(15)> :erts_debug.size(s2)
9 # WHAT!?
为什么这些字符串的大小与它们的长度不匹配?
谢谢
【问题讨论】: