mutable

    8熱度

    2回答

    我瞭解Python中可變對象和不可變對象的區別。我已經閱讀了很多文章,討論這些差異。但是,我還沒有讀到任何有關爲什麼整數是不可變的對象。 是否存在這樣的原因?或者答案是「這是怎麼回事」? 編輯:我得到提示將這個問題與其他問題區分開來,因爲它似乎是以前提出的問題。然而,我相信我所要求的更多是哲學上的Python問題,而不是技術性的Python問題。 似乎Python中的「原始」對象(即字符串,布爾值

    0熱度

    1回答

    我正在查看可變的Set類,並參見union,intersect,diff等。所有這些設置操作都會創建一個新的Set。我很好奇,如果有更新Set的方法,而不是創建一個新的。否則,我必須從val切換到var,否則我必須跟進其他步驟。 如果我不清楚,請考慮.NET的HashSet類。它有IntersectWith,ExceptWith和UnionWith修改集合。 LINQ擴展方法Intersect,E

    0熱度

    3回答

    我正在閱讀一堆來自XML文件的應用程序的「設置」,我希望這些設置駐留在所有我可以訪問的函數的命名空間中。我通過在標頭中聲明命名空間變量爲'extern int test'成功完成了這項工作。然後在源文件'int test {0};'中初始化它們。然後在源文件中有一個函數,它讀取XML並將值賦給名稱空間變量,並且所有內容都是hunky dory。 問題是我意識到當他們只需要保持不變時,我正在創建~1

    1熱度

    1回答

    在我的代碼中我得到一個io.vertx.core.json.JsonArray,我想要一個JsonObjects列表。 所以在Java中,我調用jsonarray.getList()並獲取List - getList()返回一個java.util.List。 所以在科特林 var list: List<JsonObject> = jsonArray.getList() ,但我得到一個錯誤 Ty

    0熱度

    2回答

    C++標準是否說std::initializer_list<T>是對本地匿名數組的引用?如果它說,那麼我們不應該返回這樣一個對象。標準中的任何部分都這樣說? 另一個問題,是std::initializer_list<T>可變的潛在對象?我試圖修改它: #include <initializer_list> int main() { auto a1={1,2,3}; auto

    1熱度

    1回答

    test :: VM.MVector s Int -> Int test x = runST $ do a <- return x VM.read a 0 -- Type error 我想弄清楚如何不把一個ST monad中的所有東西都放到一個函數中。如果我試圖修改x或從中返回值,編譯器會抱怨可變向量的狀態部分不匹配。 在Haskell中可能對傳遞的可變向量進行操

    -1熱度

    2回答

    我想將可變列表合併爲一個。我正在使用語音識別,所以我得到的單詞列表一直在變化。有人說使用+操作符來添加列表,但每當發言者說話時,都會生成各種數量的列表。認爲程序不知道每次會有多少個列表。我有列表,例如['hi']和['hello'],下一次我列出['one'],['two']和['three']等列表。我想寫一個代碼或一個函數,允許將所有數量的列表添加到一個。因此,我想要將相同的代碼實現到所有數目

    0熱度

    2回答

    我認爲這是一個最佳實踐問題。 在C++中,我有一個類似Python的os.path的文件系統路徑的包裝類。在這個包裝類中,有一個名爲「Split」的成員函數,用於搜索最後發生的路徑分隔符,並將其分解爲「尾部」(路徑的最後部分)和「頭部」(其他所有內容)。就目前而言,該函數使用自己的成員變量m_filepath進行分割。 一些代碼: class FilePath { public:

    0熱度

    2回答

    我有一個「項目」,其數據可以用3種方式表示。我可以以運行成本從一種表示轉換爲其他表示。一旦我做了轉換,我想保留新的表示。無需「修改」核心數據,任何數據表示都可以轉換爲其他數據。由於運行時成本,我想要一個包含3個數據表示的類。在任何時候,其中1到3個將是有效的。 這真正的一點是因爲它也有訪問方法,用戶可以在這裏訪問某些東西。這可以從1個或更多的表示中獲得。例如,你可以從representation1

    3熱度

    1回答

    我剛剛開始使用Perl6,並試圖確定如何將元素添加到SetHash。似乎哈希符號的作品,但我想知道如果我錯過了一個方法,做同樣的事情?我正在查看SetHash documentation,但我覺得它有點不透明。 my $foo = SetHash.new(); $foo{'a'} = True; 'a' ∈ $foo # True;