mutability

    -2熱度

    3回答

    >>> mydict = {1: {45: 'ades', 54:'adee'}, 2: {68: 'gdes'}} >>> curr_value = mydict[1][45] >>> mydict[1][45] = 'zzzz' >>> print (curr_value) ades # Expected value: zzzz 我的curr_value怎麼沒有從mydict變異?

    3熱度

    1回答

    我正在OCaml中製作一個基本程序,其中使用了圖形。 我定義的曲線爲: type 'a graph = ('a * int list) array;; ,其中陣列中的元素是頂點,並且在列表中的元素是從頂點的邊緣。我需要能夠在O(| V | + | E |)中構建一個看起來合法的圖。 所以我第一次建立了頂點數組,空列表。現在,我想添加邊緣。 我跟出來的唯一方法是這樣的: let addEdge

    2熱度

    2回答

    如果我們運行this那麼我們正確地得到錯誤「不能分配給不可變字段a.x」。 如果我們刪除了兩條//評論,並且註釋掉這條不好的行,那麼我們得到錯誤「無法分配給&引用中的數據」。這是有道理的,因爲&mut不提供內部可變性。我們可以自由地重新借出&A,所以這不能給予可變訪問權限,ala &&mut是&&。 如果我們刪除//評論和/* */評論,那麼整個事情編譯,允許壞行違反我們的不變,a.x絕不能指向別

    0熱度

    1回答

    我需要爲HashMap的值提供getter方法,但是我不能允許對返回的集合或其元素進行更改,然後這些元素將反映在原始HashMap中我是獲取從中設置的值。我目前在做它像這樣: public Collection<T> getCollection() { Collection<T> collection = map.values(); return collection; }

    5熱度

    1回答

    In the Swift Language Reference, under String Mutability它說: 您指示特定字符​​串是否可以修改(或突變)通過將其分配給一個變量(在這種情況下,它可以被修改),或者以恆定的(在這種情況下,它不能修改) 這我不清楚,如果「它」是可變的是變量或值。 例如,如果我寫: var s = "" for i in 0...100 { s +=

    2熱度

    1回答

    我有一個全局靜態數組,我聲明爲Rust中的查找表。由於某些奇怪的原因,我無法將值分配給元素。它看起來像這樣: pub static mut WON_TABLE: &'static [u8] = &[0; 1000]; fn main() { for mov in 0..1000 { unsafe { WON_TABLE[mov as usize] = som

    0熱度

    1回答

    我試圖讓映射一個字符串轉換爲整數的迭代器: fn main() { use std::collections::HashMap; let mut word_map = HashMap::new(); word_map.insert("world!", 0u32); let sentence: Vec<&str> = vec!["Hello", "wor

    1熱度

    1回答

    我有一個管理多個傳感器的結構。我有一個陀螺儀,加速計,磁力計,氣壓計和溫度計。所有這些都是特質。 pub struct SensorManager { barometer: Barometer + Sized, thermometer: Thermometer + Sized, gyroscope: Gyroscope + Sized, accelerome

    0熱度

    1回答

    我正在Rust中編寫一個simple library,管理一副紙牌。它具有洗牌,交易卡等功能。 shuffle()函數對self進行可變引用,允許對現有的牌組進行重新洗牌。它應該是非常簡單的: 從卡組和一個隨機數組中創建一個包含元組的臨時集合。 按隨機數對收集進行排序。 使用臨時集合的順序重建現有卡組。 該代碼如下。 pub struct Deck { // A deck contain

    0熱度

    3回答

    易變性仍時常讓我困惑。 如果我有一個對象包含一組固定的可變對象。你認爲這個對象是可變的嗎? 例如: 我有一個叫Puzzle的對象,它包含一組固定的Pieces。碎片是可變的。例如,它們可以向上並且其方向可以改變。假設在這個例子中你不能鬆動棋子(如果在現實生活中這只是真的......),我猜Puzzle對象仍然是不變的,對嗎?