About Monkey 2 › Forums › Monkey 2 Development › If Then \nl – fail?
This topic contains 4 replies, has 4 voices, and was last updated by
Danilo
2 years, 9 months ago.
-
AuthorPosts
-
June 21, 2016 at 9:56 pm #1202
The following does not compile, when doing an If Then newline :
Monkey12345678Function Main()If 1 = 1 ThenPrint "Hello World!"EndPrint "OKAY!"End[/crayon]Monkey123456789[crayon-5cb9dec462a7b268085210 inline="true" ]MX2CC V0.010***** Building app 'D:/revills/mx/monkey2/hello-world.monkey2' *****Parsing...D:/revills/mx/monkey2/hello-world.monkey2 [2] : Error : Expecting expression but encountered ''D:/revills/mx/monkey2/hello-world.monkey2 [6] : Error : Unexpected token 'print'Done.Is this as designed or will it be fixed later? On some of the code I am converting over it takes me a couple of double takes to see what is the issue.
June 21, 2016 at 10:44 pm #1203‘Then’ was originally intended to be for ‘one liner’ Ifs only, but given it turned out to be optional I have no problems supporting it for ‘block ifs’ too if there are no complaints. This is monkey1 behaviour too.
June 22, 2016 at 9:41 am #1205I don’t mind either way, could the error message be more clear what the issue is?
It’s probably more consistent to have ‘Then’ for block ifs as well as one liners ifs.
June 23, 2016 at 10:37 pm #1206As long as we can omit “then” for block-ifs I’m cool either way.
June 24, 2016 at 5:55 am #1208Random thoughts and ideas – Posting #4
[/crayon]Monkey123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113[crayon-5cb9dec46c981660715483 inline="true" ]If [expression][statements]ElseIf [expression][statements]Else[statements]EndIfIf [expression] Then [statement]If [expression] Then [statement] Else [statement]' If you want to allow 'Then' for blocks:If [expression] Then [end-of-line][statements]EndIf'' Multiple statements in single-liners (separated by comma)?'If [expression] Then [statement1], [statement2], [statement3]If [expression] Then [statement1], [statement2], [statement3] Else [statement1], [statement2], [statement3]'' multiple [statement] separated by comma is a [statement-list]'If [expression] Then [statement-list]If [expression] Then [statement-list] Else [statement-list]'' Same for For..Next'For local value:=Eachin valuessum+=valueNext [opt:var]For local value:=Eachin values Do [statement-list]For local value:=Eachin values Do sum+=valueFor local value:= 1 To 10 Do sum+=value ' [statement-list]For local value:= 1 To 10 Do sum+=valueFor local value:= 10 DownTo 1 Do sum+=value'' While..Wend'While [expression][statements]WendWhile [expression] Do [statement]While [expression] Do [statement1], [statement2], [statement3]' becomes:While [expression] Do [statement-list]While function()=0 Do count+=1'' 'Do' and 'Repeat''' (same thing with different linguistics for supporting differentiated thinking' and enunciation/phrasing -> freedom of mind to express thoughts in code)'Do [end-of-line][statements]While [expression]Do [end-of-line][statements]Until [expression]Do [end-of-line][statements]ForeverDo [statement] While [expression]Do [statement] Until [expression]Do [statement] ForeverDo [statement1], [statement2], [statement3] While [expression]Do [statement1], [statement2], [statement3] Until [expression]Do [statement1], [statement2], [statement3] ForeverDo [statement-list] While [expression]Do [statement-list] Until [expression]Do [statement-list] ForeverRepeat [end-of-line][statements]While [expression]Repeat [end-of-line][statements]Until [expression]Repeat [end-of-line][statements]ForeverRepeat [statement] While [expression]Repeat [statement] Until [expression]Repeat [statement] ForeverRepeat [statement1], [statement2], [statement3] While [expression]Repeat [statement1], [statement2], [statement3] Until [expression]Repeat [statement1], [statement2], [statement3] ForeverRepeat [statement-list] While [expression]Repeat [statement-list] Until [expression]Repeat [statement-list] Forever -
AuthorPosts
You must be logged in to reply to this topic.