[英]Why is there not a destructive version of `to_s`?
讓我們說:
n = 5
n.to_s
p n
n
的結果仍然是5
而不是"5"
。 用新轉換的n
替換原始變量n
的最短方法是什么,而不必通過以下方法:
n = 5
a = n.to_s
p a
為什么Ruby不允許我調用to_s!
對象?
整數不能神奇地將自己變成String。 方法(包括!
方法)只能導致對象值更改,而不是類型。 此外,整數是不可變的 - 整數本身不能被修改(但指向它的名稱可以重新指向一個新的整數)。
因此, to_s!
不存在,而你需要通過寫例如重新綁定變量
n = n.to_s
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.