- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有循环遍历字典的代码。字典中每个键的值是一个包含 2 项的数组(字典看起来像 name: [string, integer])。当我稍后引用字典时,我可以看到并打印属于字典条目的数组中的字符串和整数,但我无法通过像dictionary(name)(2) = 5;这样的正常赋值来更改整数。在代码中执行此操作后,我将数组值打印到调试文件,并且数组值是原始值,而不是其更改后的值。我不知道为什么这不起作用,以及如何让它起作用。我在数组上读到的所有内容都说你只需分配 array(0) = some 。
下面是部分代码:
定义原始字典:
dim Dict as Object
Set Dict = CreateObject("Scripting.Dictionary")
for i = 1 to 10
strnum = "str"&i
Dict.Add strnum, array("str"&i+1,0)
next
'printing each item in dict returns "Str1: [str2,0]", etc. as it should
使用字典:
For each Cell in Range("a1:a11")
If Cell.Value <> "" And Dict.exists(Cell.Value) Then
name = Cell.Value
range = Dict(name)(0)
If Dict(name)(1) = 1 Then
'we have already located the name here
Else
Dict(name)(1) = 1
s = "Setting the found flag to " & Dict(name)(1)
debug.print s
'Dict(name)(1) returns 0 when it should return 1
end if
end if
next cell
范围 a1:a11 为 Str1、Str2、Str3、Str4、Str5...Str11。
我可以做什么来解决这个问题?
最佳答案
你正在创建一些奇怪的别名
for i = 1 to 10
Str = "str"&i
arr(1) = "str"&i+1
arr(2) = 0
Dict.Add Str, arr
next
因为您在指定 arr
尺寸时仅创建了一个数组。
您可以创建一个字典的字典来执行您想要的操作:
Sub test()
Dim Dict As Object, Str, i, arr
Set Dict = CreateObject("Scripting.Dictionary")
For i = 1 To 10
Set arr = CreateObject("Scripting.Dictionary")
arr.Add 1, "str" & i + 1
arr.Add 2, 0
Str = "str" & i
Dict.Add Str, arr
Next
For i = 1 To 10
Debug.Print (Dict("str" & i)(1))
Next i
Dict("str1")(1) = "Bob"
Debug.Print Dict("str1")(1) 'prints Bob
End Sub
关于Excel VBA : Unable to reassign value to array,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36698523/
这个问题已经有答案了: Use of def, val, and var in scala (6 个回答) 已关闭 9 年前。 我正在寻找一种方法来解决 Scala 中的以下编译错误。我正在尝试更新变
我在 Kotlin 中编写了红黑树。 Fun insertFixup 在插入新元素后恢复平衡(z: Node? 是新元素)。树平衡算法取自here (第 2-3 页)。 问题是 Kotlin 不允许我
在 Kotlin 中,当我尝试以编程方式设置宽度时,出现 IDE 错误“Val cannot be reassigned”,请参阅 Activity 类的 onCreate() 中编写的代码, sha
我正在尝试将模块导入 typescript 文件,然后与 Rollup.js 捆绑。 但是我收到一条错误消息,阻止 Rollup 完成。 导入: import * as mapboxgl from '
MobileAds.initialize(this) { } val adViewBottom = AdView(this) adViewBottom.adSize = AdSize.BANNER 这
我正在阅读 Seven Languages in Seven Weeks体验不同的编程范式。在关于 Scala 的章节中,我发现集合是不可变的(至少 scala.collection.immutabl
在这种情况下,用户在 Django 项目中的多个“应用程序”之间具有多个外键关系。该用户决定离开平台,因此想要轻松地将所有外键关系转移给另一个用户。 是否可以获取用户与其具有外键关系的所有对象的列表并
我有循环遍历字典的代码。字典中每个键的值是一个包含 2 项的数组(字典看起来像 name: [string, integer])。当我稍后引用字典时,我可以看到并打印属于字典条目的数组中的字符串和整数
我有一个带有一些var字段的Scala类,将其称为A: class A extends AParent { var x: String = _ ... } 其中AParent也有一些字
static String ask(String question) { String Answer = JOptionPane.showInputDialog(question);
在 Controller 操作中,我从 TempData 变量中的重定向接收到一个变量 public ActionResult ChangePassword() { string t = (s
如何修复错误 "no-param-reassign": [2, {"props": false}]" 这是我收到 Eslint 错误的示例: filtersList.forEach((filter)
我正在尝试仅查找具有特定服务的用户。每个用户都有一系列服务。我需要找到的匹配如下: userService.name === service.name && !user.disabled 下面的代码有
我有一个经过训练的 Scikit Kmean 模型。 当使用模型预测函数时,模型将给定的数据点分配给最近的聚类。 (正如预期的那样) 让模型将数据点分配给第二个最近或第三个最近的簇的最简单方法是什么?
我有一个带有自动递增 ID 的表,该表运行大量 INSERT 和 DELETE,导致数字出现很大差距。我只是想知道为了整洁起见,是否有一个查询将从最低 ID 开始,将其分配给 1 并从那里向上处理 +
这里的算法很新。当教授给出这段代码时,我开始看普林斯顿的算法和数据结构课: public void union(int p, int q){ int pid = id[p]; int qid = i
如果我从文件 example = open(example_file) 创建一个变量,然后将该文件读入变量 example_read = example.read() 那么我需要稍后关闭文件examp
我正在学习 React。目前正在尝试了解协调过程的工作原理。 我的 JSX 中有这个映射函数: render: function () { var currentIssues =
我想将一个 Mat 加载到 ImageView 中,对 Mat 进行图像处理,并显示处理后的 Mat,而无需再次将其加载到 ImageView 中。 这可能吗?我觉得反复将 Mat 转换为 Bitma
奇怪的是,我的 Kotlin 代码之前编译得很好,当它在 java 类 Allocator 中看起来像这样时: public void setAllocMethod(@NotNull AllocMet
我是一名优秀的程序员,十分优秀!