簡體   English   中英

為什么沒有`to_s`的破壞性版本?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM