有没有更好的方法来写这个:
<div style='text-align: center; border: 1px solid black;'>text
<div style='border:1px solid black;height: 150px;'>
<img style='float: left; clear: both;' src='http://iconizer.net/files/Sketchdock_Ecommerce_Icons/orig/arrow-up-blue.png'>
<img style='float: left; clear: both;' src='http://iconizer.net/files/Sketchdock_Ecommerce_Icons/orig/arrow-down-blue.png'>
</div>
</div>
我的外观如下:for($j =0; $j -lt 11; $j++){
if($averagetime[$j] -ne "no data"){
Write-host $type[$j] "(" $1st[$j] "):" $averagetime[$j]
}
}
我希望输出如下:Multiaxial_Milling ( 5 ): 3.46
我知道Multiaxial_Milling (5): 3.46
有效,但它不适用于数组。目前这对我来说只是一个美容问题,但我想这可能会成为一个问题。
答案 0 :(得分:5)
您可以使用sub-expression $(...)
:
//jParams comes from a JSON server response
var data = NSURLConnection.sendSynchronousRequest(request, returningResponse: nil, error: nil)
if data != nil {
var jdata = JSON(data: data!)
var jParams=jdata["responseData"]["extraData"]["params"]
PowerShell会将Write-host $type[$j] "($($1st[$j])):" $averagetime[$j]
中的内容评估为普通表达式,然后将$(...)
替换为此表达式返回的值。以下是演示:
$(...)
但请注意,子表达式仅适用于双引号字符串文字PS > "$(1 + 1)"
2
PS > "a$(1 + 1)b"
a2b
PS >
。如果您将它们放在单引号"..."
中,它们将被视为普通文本。
答案 1 :(得分:4)
format operator在这种情况下也是一个不错的选择,特别是如果输出格式变得特别复杂。
一些基本数组的简单示例。
$evens = 2,4,6,8
$odds = 1,3,5,7
for($j =0; $j -lt 4; $j++){
Write-Host ("Index {0}: Even - {1} | Odd - {2}" -f $j,$evens[$j],$odds[$j])
}
将净化以下输出
Index 0: Even - 2 | Odd - 1
Index 1: Even - 4 | Odd - 3
Index 2: Even - 6 | Odd - 5
Index 3: Even - 8 | Odd - 7
注意:我们需要在此处使用括号,否则-f
将被选为Write-Host
的参数。如果您只是将其发送到标准输出,则可以省略Write-Host
和括号。