为什么我要在一个空数组上调用GetType()但不能从函数返回它时调用

杰米特

在我不断追求更好地了解Powershell的追求中,有人可以向我解释这种行为:

function fn1{return @()}
(@()).GetType()           #does not throw an error
(fn1).GetType()           #throws error "You cannot call a method on a null-valued expression."

为什么从函数返回值会使它“不同”?

有趣的是(或者可能不是),在两种情况下用管道传递到get-member表现出相同的行为:

function fn1{return @()}
@()   | gm           #does throw an error "You cannot call a method on a null-valued expression."
fn1   | gm           #does throw an error "You cannot call a method on a null-valued expression."

使我困惑。有人可以解释吗?

亚当

发生这种情况的原因是,当您从函数返回数组(可能还有其他集合)时,PowerShell会将数组的每个元素放入管道中。因此GetType()实际上并不是在空数组上调用它,而是元素(丢失了)。

解决方法可能是将您的数组返回另一个数组:)。

function fn1{return ,@()}
(fn1).GetType() 

现在,Powershell将传递到此“父”数组的管道元素中,该元素仅包含一个元素:空数组。请注意,您无法通过实现此目标return @(@()),因为@()外部确保返回的结果将是一个数组,该数组已经存在。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

为什么我需要从另一个来源指向 Array 构造函数,为什么我不能直接在数组对象上调用 toString() ?

来自分类Dev

为什么我不能从 python 中的另一个函数调用一个函数。函数未定义错误

来自分类Dev

为什么我不能从另一个类调用方法

来自分类Dev

JavaScript 函数不能从另一个调用

来自分类Dev

为什么我不能在不可哈希实例的一个显然可以哈希的方法上调用hash()?

来自分类Dev

JavaScript-为什么我们必须从自调用函数返回一个函数?

来自分类Dev

为什么我要在一个空科特林功能,从Java调用时,并没有返回null Unit.INSTANCE?

来自分类Dev

为什么我的函数不能调整我的指针的内容,除非我返回一个来分配它

来自分类Dev

为什么我对Bind <T>()的Nancy调用返回一个空对象?

来自分类Dev

为什么这个函数返回一个空数组?

来自分类Dev

OC调用一个swift函数,该函数返回一个int数组,但不能接受带有int变量的元素

来自分类Dev

为什么我的函数返回一个数据框,但不能将其归因于r中的变量?

来自分类Dev

为什么我的异步函数返回一个空数组

来自分类Dev

为什么我们可以分配一个1 PB(10 ^ 15)的数组并访问最后一个元素,但不能释放它呢?

来自分类Dev

为什么我不能从Angular调用ajax调用

来自分类Dev

我有一个crontab条目,它调用bash脚本。为什么$ USER返回空白?

来自分类Dev

不能从其他类调用一个函数到一个类

来自分类Dev

为什么我必须从另一个函数中调用一个函数?

来自分类Dev

为什么在Pandas Series上调用.sort()函数对它的值进行原位排序而什么也不返回?

来自分类Dev

我在一个函数中有一个本地字符数组——当我返回数组名称时,为什么返回值是空的?

来自分类Dev

为什么我不能在 Javascript 中的同一个类函数中调用一个类函数?

来自分类Dev

设置一个值或在返回时调用一个函数

来自分类Dev

为什么我们需要在React Hook中返回一个函数?

来自分类Dev

Swift:为什么我不能从覆盖init调用方法?

来自分类Dev

为什么我不能调用我的函数?

来自分类Dev

为什么我不能调用我的函数?

来自分类Dev

为什么不在一个模型上调用save()而在另一个模型上调用

来自分类Dev

为什么我不能从另一个.js文件访问.js文件中定义的JavaScript函数?

来自分类Dev

为什么一定不能从DllMain函数调用CreateProcess?

Related 相关文章

  1. 1

    为什么我需要从另一个来源指向 Array 构造函数,为什么我不能直接在数组对象上调用 toString() ?

  2. 2

    为什么我不能从 python 中的另一个函数调用一个函数。函数未定义错误

  3. 3

    为什么我不能从另一个类调用方法

  4. 4

    JavaScript 函数不能从另一个调用

  5. 5

    为什么我不能在不可哈希实例的一个显然可以哈希的方法上调用hash()?

  6. 6

    JavaScript-为什么我们必须从自调用函数返回一个函数?

  7. 7

    为什么我要在一个空科特林功能,从Java调用时,并没有返回null Unit.INSTANCE?

  8. 8

    为什么我的函数不能调整我的指针的内容,除非我返回一个来分配它

  9. 9

    为什么我对Bind <T>()的Nancy调用返回一个空对象?

  10. 10

    为什么这个函数返回一个空数组?

  11. 11

    OC调用一个swift函数,该函数返回一个int数组,但不能接受带有int变量的元素

  12. 12

    为什么我的函数返回一个数据框,但不能将其归因于r中的变量?

  13. 13

    为什么我的异步函数返回一个空数组

  14. 14

    为什么我们可以分配一个1 PB(10 ^ 15)的数组并访问最后一个元素,但不能释放它呢?

  15. 15

    为什么我不能从Angular调用ajax调用

  16. 16

    我有一个crontab条目,它调用bash脚本。为什么$ USER返回空白?

  17. 17

    不能从其他类调用一个函数到一个类

  18. 18

    为什么我必须从另一个函数中调用一个函数?

  19. 19

    为什么在Pandas Series上调用.sort()函数对它的值进行原位排序而什么也不返回?

  20. 20

    我在一个函数中有一个本地字符数组——当我返回数组名称时,为什么返回值是空的?

  21. 21

    为什么我不能在 Javascript 中的同一个类函数中调用一个类函数?

  22. 22

    设置一个值或在返回时调用一个函数

  23. 23

    为什么我们需要在React Hook中返回一个函数?

  24. 24

    Swift:为什么我不能从覆盖init调用方法?

  25. 25

    为什么我不能调用我的函数?

  26. 26

    为什么我不能调用我的函数?

  27. 27

    为什么不在一个模型上调用save()而在另一个模型上调用

  28. 28

    为什么我不能从另一个.js文件访问.js文件中定义的JavaScript函数?

  29. 29

    为什么一定不能从DllMain函数调用CreateProcess?

热门标签

归档