In-line Assignment Operator
I admit that I'm not a fan of in-line assignment, as the symbol for the operator closely resembles the comparison operator for equality.
Which to me is easily confusing.
Since vb.net does allow assignment mid expression, due to symbol = meaning being contextual.
So I have tried to achieve the best I can, with the restriction on method names.
An example of the in-line assignment in use. With an implementation of get the first n numbers of the Fibonacci Sequence.
Note: VB11's Iterators
The result does look too bad (in my opinion).
I admit that I'm not a fan of in-line assignment, as the symbol for the operator closely resembles the comparison operator for equality.
Which to me is easily confusing.
Since vb.net does allow assignment mid expression, due to symbol = meaning being contextual.
So I have tried to achieve the best I can, with the restriction on method names.
Public Module Exts
''' <summary>
''' A psuedo-inline assignment operator.
''' </summary>
''' <typeparam name="T">The type being used</typeparam>
''' <param name="Target">The target for the assignment.</param>
''' <param name="Value">The value to be assigned.</param>
''' <returns>The value being assigned</returns>
''' <remarks></remarks>
<Extension> Public Function Ξ(Of T)(ByRef Target As T, Value As T) As T
Target = Value : Return Value
End Function
End Module
An example of the in-line assignment in use. With an implementation of get the first n numbers of the Fibonacci Sequence.
Public Iterator Function FibN(ByVal n As Integer) As IEnumerable(Of Integer)
If n < 0 then Throw New ArgumentOutOfRangeException("Must be greater equal to zero (0)")
Dim Fib = {1, 0}
If n > 0 Then Yield 0
If n > 1 Then Yield 1
While n > 2
Yield Fib(n Mod 2).Ξ(Fib.Sum) ' The "assignment" '
n -= 1
End While
End Function
Note: VB11's Iterators
The result does look too bad (in my opinion).
0 Comments On This Entry
|
|




Leave Comment









|