summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--powershell.html.markdown21
1 files changed, 11 insertions, 10 deletions
diff --git a/powershell.html.markdown b/powershell.html.markdown
index 9087dad8..318bf043 100644
--- a/powershell.html.markdown
+++ b/powershell.html.markdown
@@ -620,26 +620,27 @@ $area
$targetArray = 'a','b','c','d','e','f','g','h','i','j','k','l','m'
-function Format-Range ($start, $end) {
-[System.Collections.ArrayList]$firstSectionArray = @()
-[System.Collections.ArrayList]$secondSectionArray = @()
-[System.Collections.Stack]$stack = @()
- for ($index = 0; $index -lt $targetArray.Count; $index++) {
+function Format-Range ($start, $end, $array) {
+ [System.Collections.ArrayList]$firstSectionArray = @()
+ [System.Collections.ArrayList]$secondSectionArray = @()
+ [System.Collections.Stack]$stack = @()
+ for ($index = 0; $index -lt $array.Count; $index++) {
if ($index -lt $start) {
- $firstSectionArray.Add($targetArray[$index]) > $null
+ $firstSectionArray.Add($array[$index]) > $null
}
elseif ($index -ge $start -and $index -le $end) {
- $stack.Push($targetArray[$index])
+ $stack.Push($array[$index])
}
else {
- $secondSectionArray.Add($targetArray[$index]) > $null
+ $secondSectionArray.Add($array[$index]) > $null
}
}
$finalArray = $firstSectionArray + $stack.ToArray() + $secondSectionArray
- Write-Output $finalArray
+ return $finalArray
}
-Format-Range 2 6 # => 'a','b','g','f','e','d','c','h','i','j','k','l','m'
+Format-Range 2 6 $targetArray
+# => 'a','b','g','f','e','d','c','h','i','j','k','l','m'
# The previous method works, but uses extra memory by allocating new arrays.
# It's also kind of lengthy.