通过枚举逐项列出的PowerShell访问多维数组

时间:2019-01-23 09:41:31

标签: powershell

我正在使用PowerShell。我想访问一个由Enums逐项列出的数据结构。 在下面执行此演示代码时,收到一条我不理解的错误消息:

  

索引操作失败;数组索引计算为null。

我们将不胜感激

谢谢

PowerShell代码:

CREATE TABLE IF NOT EXISTS rawdata.test(
    id int,
    title text,
    content text,
    PRIMARY KEY (id, title)
);


select * from rawdata.test;
select * from rawdata.test where solr_query='{"q":"content:税法"}';
select * from rawdata.test where solr_query='{"q":"title:国税局"}';

1 个答案:

答案 0 :(得分:1)

您调用函数的方式不正确。在PowerShell中,命令(或函数调用)的参数由空格而不是逗号分隔。逗号会使PowerShell将两个值都解释为一个数组。

执行此操作:

getElementFromMap ([X]::X1) ([Y]::Y1)

有括号,因此PowerShell会对表达式进行赋值,而不将其视为字符串。

以下内容也是可能的,因为值将被解释为字符串并在函数中自动转换,因为您在函数定义([X]$x, [Y]$y)中指定了参数类型:

getElementFromMap X1 Y1

# or
getElementFromMap "X1" "Y1"

请查看here,以详细了解PowerShell的两种解析模式(表达模式和参数模式)。