Newer
Older
Tardis / lang / modules / main.txt
Module Main
Use Another

Note A class containing two values: First, Second
Class TwoNumbers
	Public First
	Public Second
	Private SecretValue
EndClass

Note This function creates a new TwoNumbers object and checks that
Note its fields have correctly stored the value
Public Class Main Function TwoNumbersTest
	Note Create numbers
	Set FirstNum To 1234
	Set SecondNum To 456
	Note Create object and get fields
	Set Object0 To Create TwoNumbers
	Set Object1 To Object0 SetFirst FirstNum
	Set Object2 To Object1 SetSecond SecondNum
 	Note Tests copy on write
	Set Object3 To Object2 SetFirst 0
	Note Get the fields
	Set ObjFirst To Object2 First
	Set ObjSecond To Object2 Second
	Note Calculate if fields match
	Set FirstMatches To FirstNum Equals ObjFirst
	Set SecondMatches To SecondNum Equals ObjSecond
	Note Check that all of them match
	Set AllMatch To FirstMatches And SecondMatches
	Note Return whether they all match
	Return AllMatch
EndFunction

Public Class Main Function BoolTest
	Set A To True
	Set B To False
	Set C To B Invert
	Set D To A And C
	Return B
EndFunction

Public Class Main Function NoneTest
	Set A To None
	Return A
EndFunction

Public Class Main Function LoopThirds Args Num
	If Num Equals 0
	Then Return True
	Set TenThirds To 1 Divide 30
	Set Third To TenThirds Multiply 10
	Set NewNum To Num Subtract Third
	Jump Self LoopThirds NewNum
EndFunction

Public Class Main Function RatioTest
	Jump Self LoopThirds 10
EndFunction

Public Class Main Function IfTest
	If False
	Then Return False

	If False
	Then Return False
	ElseIf True
	Then Return True
	Else Return False
EndFunction

Public Class Main Function CountDown Args NumFrom
	If NumFrom Equals 0
	Then Return True
	Set Next To NumFrom Subtract 1
	Jump Self CountDown Next
EndFunction

Public Class Main Function LoopTest
	Jump Self CountDown 10000
EndFunction

Public Class Main Function MakeNumber
	Set Halfish To Another GetHalfish 620
	Set Double To Halfish Add Halfish
	Set Final To Double Subtract 2
	Return Final
EndFunction