Skip to content

Instantly share code, notes, and snippets.

@shaneis
Created May 22, 2018 16:38
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save shaneis/50994abbdf82e6fa220f7cad52763acd to your computer and use it in GitHub Desktop.
Save shaneis/50994abbdf82e6fa220f7cad52763acd to your computer and use it in GitHub Desktop.
...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