我非常習慣 Python,其中函式可以放在類中并單獨呼叫。
但是,現在我必須在 PowerShell 中撰寫一些代碼,如果這里有類似的可能,我找不到方法。
我正在嘗試做的一個例子:
function a {
Write-Host "a"
function a_1() { Write-Host "a_1" }
function a_2() { Write-Host "a_2" }
}
a # Works
a.a_1 # Doesn't works
a_2 # Doesn't works
uj5u.com熱心網友回復:
PowerShell(5 及更高版本)確實支持類,(請參閱about_Classes)并且類方法可以是靜態的。
例如:
class a {
a() {
Write-Host "a"
}
static [void]a_1()
{
Write-Host "a_1"
}
static [void]a_2()
{
Write-Host "a_2"
}
}
[a]$a = [a]::new()
[a]::a_1()
[a]::a_2()
輸出:
a
a_1
a_2
uj5u.com熱心網友回復:
僅當內部函式具有范圍修飾符時,即: function script:a_1() { ... } 或 function global:a_2() { ... } – Santiago Squarzon
謝謝!這似乎與我正在搜索的內容非常接近,再加上對功能的創造性命名,這使得獲得我習慣的東西成為可能。
我的解決方案:
function a {
Write-Host "a"
function script:a.a_1() { Write-Host "a_1" }
function script:a.a_2() { Write-Host "a_2" }
}
a # Call this so the functions get loaded
a.a_1 # Creative naming so it acts like I need it
a.a_2
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/476844.html
上一篇:如何在PowerShell(Dicom)中使用引數執行命令列
下一篇:打開url然后關閉瀏覽器的腳本
