当前位置:网站首页 > 更多 > 玩电脑 > 正文

[玩转系统] 表达式

作者:精品下载站 日期:2024-12-14 02:56:00 浏览:13 分类:玩电脑

表达式


语法:

expression:
    primary-expression
    bitwise-expression
    logical-expression
    comparison-expression
    additive-expression
    multiplicative-expression

dash: one of
    - (U+002D)
    EnDash character (U+2013)
    EmDash character (U+2014)
    Horizontal bar character (U+2015)

dashdash:
    dash dash

描述:

表达式是一系列运算符和操作数,用于指定方法、函数、可写位置或值;指定值的计算;产生一种或多种副作用;或执行其某种组合。例如,

  • 文字 123 是指定 int 值 123 的表达式。
  • 表达式1,2,3,4指定具有所示值的4元素数组对象。
  • 表达式10.4 * $a指定一个计算。
  • 表达式 $a++ 会产生副作用。
  • 表达式 $a[$i--]=$b[++$j] 执行这些操作的组合。

除了某些运算符的指定之外,表达式中项的求值顺序以及副作用发生的顺序均未指定。未指定行为的示例包括以下内容:$i++ + $i$i + --$i$w[$j++]=$v[ $j]

PowerShell 的实现可以提供对用户定义类型的支持,并且这些类型可以具有对其定义的操作。此类类型和操作的所有细节都是实现定义的。

顶级表达式是不属于某些较大表达式的表达式。如果顶级表达式包含副作用运算符,则该表达式的值不会写入管道;否则,就是这样。有关详细讨论,请参见第 7.1.1 节。

通常,指定集合 ([§4§4]) 的表达式在使用该表达式的值时会被枚举到其组成元素中。但是,当表达式是 cmdlet 调用时,情况并非如此。例如,

$x = 10,20,30
$a = $($x; 99)                     # $a.Length is 4

$x = New-Object 'int[]' 3
$a = $($x; 99)                     # equivalent, $a.Length is 4

$a = $(New-Object 'int[]' 3; 99)   # $a.Length is 2

$ (...) 运算符的前两次使用中,指定集合的表达式是变量 $x,它被枚举,结果是三个 int 值,加上 int 99。但是,在第三种情况下,表达式是对 cmdlet 的直接调用,因此不会枚举结果,并且 $a 是一个由两个元素组成的数组:int[3]int

如果 PowerShell 未定义某个操作,则会检查左操作数指定的值的类型以查看它是否具有相应的 op_

您需要 登录账户 后才能发表评论

取消回复欢迎 发表评论:

关灯