Skip to content

Instantly share code, notes, and snippets.

@dfinke
Last active August 29, 2015 14:11
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save dfinke/9f22d02cdd4f1c4272cc to your computer and use it in GitHub Desktop.
Save dfinke/9f22d02cdd4f1c4272cc to your computer and use it in GitHub Desktop.
Fluent API Using PowerShell v5 Classes
class GeometryNumber {
[double]$Number
GeometryNumber() {}
GeometryNumber($Number) { $this.Number=$Number }
[GeometryNumber] Sqrt() { return [GeometryNumber]::new([Math]::Sqrt($this.Number)) }
[GeometryNumber] Reciprocal() { return [GeometryNumber]::new(1/$this.Number) }
[GeometryNumber] TangetAngle() { return [GeometryNumber]::new([System.Math]::Atan($this.Number)) }
[GeometryNumber] AsDegrees() { return [GeometryNumber]::new($this.Number*180/[Math]::PI) }
}
[GeometryNumber]::new(3).Sqrt().Reciprocal().TangetAngle().AsDegrees() | Format-Table -Autosize
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment