Skip to content

Instantly share code, notes, and snippets.

@shaneis

shaneis/OneWay.ps1

Created May 22, 2018
Embed
What would you like to do?
...or another...
[int]$FizzRunningTotal = 0
[int]$FizzBuzzRunningTotal = 0
[int]$BuzzRunningTotal = 0
$Mod15 = [Scriptblock]::Create('param([int]$Number) $FizzBuzzRunningTotal + $_ ')
$Mod5 = [Scriptblock]::Create('param([int]$Number) $BuzzRunningTotal + $_ ')
$Mod3 = [Scriptblock]::Create('param([int]$Number) $FizzRunningTotal + $_ ')
1..15 | ForEach-Object {
switch ($_) {
{ $_ % 15 -eq 0 } {
$FizzBuzzRunningTotal = $Mod15.InvokeReturnAsIs($_)
break
}
{ $_ % 5 -eq 0 } {
$BuzzRunningTotal = $Mod5.InvokeReturnAsIs($_)
break
}
{ $_ % 3 -eq 0 } {
$FizzRunningTotal = $Mod3.InvokeReturnAsIs($_)
break
}
}
[PSCustomObject]@{
Number = $_
FizzRunningTotal = $FizzRunningTotal
BuzzRunningTotal = $BuzzRunningTotal
FizzBuzzRunningTotal = $FizzBuzzRunningTotal
}
} | Format-Table -AutoSize
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.