Define a primitive data type: Difference between revisions

Added FreeBASIC
m (→‎{{header|Sidef}}: added equality support)
(Added FreeBASIC)
Line 612:
 
end program BoundedTest</lang>
 
=={{header|FreeBASIC}}==
<lang freebasic>' FB 1.05.0 Win64
 
Type MyInteger
Private:
Dim i_ As Integer
Public:
Declare Constructor(i_ As Integer)
Declare Property I() As Integer
Declare Operator Cast() As Integer
Declare Operator Cast() As String
End Type
 
Constructor MyInteger(i_ As Integer)
If i_ < 1 Then
i_ = 1
ElseIf i_ > 10 Then
i_ = 10
End If
This.i_ = i_
End Constructor
 
Property MyInteger.I() As Integer
Return i_
End Property
 
Operator MyInteger.Cast() As Integer
Return i_
End Operator
 
Operator MyInteger.Cast() As String
Return Str(i_)
End Operator
 
Dim i As MyInteger = 11 ' implicit constructor call; i_ automatically limited to 10
Dim j As MyInteger = 3 ' implicit constructor call; no adjustment needed
Dim k As Integer = 4
Print "i = "; i; " j = " ; j; " k = "; k; " j + 6 ="; j.I + 6; " j + k ="; j + k
Print
Print "Press any key to quit"
Sleep</lang>
 
{{out}}
<pre>
i = 10 j = 3 k = 4 j + 6 = 9 j + k = 7
</pre>
 
=={{header|Haskell}}==
9,490

edits