dict remove也删除密钥

时间:2018-11-08 06:44:13

标签: dictionary tcl

Tcl的public Stream<Path> loadFiles() { try { return Files.walk(file_path, 1) } catch (IOException e) { throw new RuntimeException("\"Failed to read stored file"); } } 的行为不完全符合我的预期。 (我确定是因为我的期望不正确)

<?xml version="1.0" encoding="utf-8"?>
<vector android:height="24dp" android:viewportHeight="628.0"
android:viewportWidth="726.0" android:width="27dp" xmlns:android="http://schemas.android.com/apk/res/android">
<path android:fillColor="#c3c3c3"
    android:pathData="m723,314c-60,103.9 -120,207.8 -180,311.8
     -120,0 -240,0 -360,0C123,521.8 63,417.9 3,314 63,210.1 123,106.2
     183,2.2c120,0 240,0 360,0C603,106.2 663,210.1 723,314Z"
    android:strokeColor="#fff" android:strokeWidth="4"/>
</vector>

我期望结果是:

dict remove

O1 C2也被删除的原因是什么?

1 个答案:

答案 0 :(得分:0)

您可能正在寻找dict unset而不是dict remove

dict unset将删除具有与最深键相关联的值的键(和嵌套键)。

% dict unset d O1 C1
O1 {C2 child2} O2 {C3 child3}

dict remove将删除字典第一级的所有键以及这些键下的所有值:

% puts $d
O1 {C1 child1 C2 child2} O2 {C3 child3}
% dict set d O3 C4 child4
O1 {C1 child1 C2 child2} O2 {C3 child3} O3 {C4 child4}
% dict remove $d O1 O2
O3 {C4 child4}