4
A
回答
4
你不能選擇。你只需要記住這個對象是一個Value
傳遞的值,其他對象通過引用傳遞。
Struct
是一個Value
並通過值。您應該更喜歡使用不可變數據類型的結構。然而,可變結構仍然允許在Crystal中,並且實際上this example演示瞭如何使用方法對其進行變異。總之:
struct Mutable
property value
def initialize(@value : Int32)
end
end
def change(mutable)
mutable.value = 2
mutable
end
mut = Mutable.new 1
mut = change(mut)
mut.value # => 2
相關問題
- 1. 通過參考變量警告結束()
- 2. 晶體靜態變量
- 3. 蟒:訪問類變量參考或不參考
- 4. 參考變量AS3
- 5. Moq'ing參考變量
- 6. PHP:存儲和/或通過參考
- 7. C++參考本地變量與參考
- 8. 再通過參考
- 9. LLVM,通過參考
- 10. C - 通過參考?
- 11. auto &&變量的值不是右參考
- 12. 參考變量作爲值 - VB6
- 13. 通過RealProxy參考參數
- 14. C++傳遞變量 「結構」 型的作爲參考(&)或由值
- 15. 通過參考值不工作在java
- 16. 通過參考類型按值
- 17. 最好是通過參考值
- 18. mssql_bind和fatala錯誤唯一的變量可以通過參考
- 19. 嚴格的標準:只有變量應該通過參考請
- 20. 通過字符串變量的MS Access參考表格
- 21. 如何通過引用傳遞參考變量的地址?
- 22. 通過變量作爲參考jqueryui部件
- 23. 是通過值或參考的golang地圖查找?
- 24. JSTL參考其他變量的變量
- 25. 通過JavaScript變量值JSP變量
- 26. 更改變量影響的間接變量(值VS參考)
- 27. 通過嵌套表順序排列沒有考慮變量值
- 28. 晶體公式與局部變量
- 29. 參考變量名動態
- 30. Bash間接變量參考
使用指針綁定外或特殊性能優化當然不是最佳實踐。 –
@JonneHaß謝謝,您的評論以粗體顯示給答案 –
這不僅僅是壞習慣,而且實際上是不安全的代碼! –