Wishlist
-
@ITzTravelInTime I think you misunderstand, I wasn't asking for functions that can only take specific variable TYPES, but for functions that can take a variable NUMBER of arguments.
e.g.printAt(0, 0, var1, var2, var3, ...) -
@Eearslya we do need that for sure!
-
@Eearslya Well, you can kinda do it right now using an array.
count = myargs( 0, 0, [ 1, 2, 3, 4, 5, 6 ] ) function myargs( item1, item2, itemarr ) return len(itemarr) -
@Eearslya I see thank you for the clarification
-
@Kat That, is amazing - I'm heading home on the train and cant wait to get on the switch and try this out! Sorry, I should have searched before assuming it wasn't built in haha
-
@Tratax No worries!
-
@Tratax whilst you can't discern much form the very short clip size limit on the Switch's upload feature, I did a little video using a CRT shader on some maths patterns, you might get an idea for parameter values from it - you can make some truly bizarre effects with it!
https://fuzearena.com/forum/topic/10/playing-with-crt-shader/2
-
I'll give this a try.
We need an
elseiforelifif (a) then // do a elseif (b) then // do b else // do else endifI'd also like to see a
switch casesomeday. Might look like this.switch (expression) case value-1 // do this break case value-2 // do this break default // do this endswitch -
@_JKDOS As you already know, the latter of those two is on the list of things to come. The first is unlikely. But, request noted.
-
@Martin Thats awesome. I would think getting the
switchcondition would be more unlikely, so I count myself lucky -
Functions to help us determine what type a variable is, like
isInt,isFloat,isString,isVector, andisArray. Dunno ifisStructwould be workable. -
@Discostew For structs, maybe even a generic
isAthat we can pass a struct type to. -
Intellisense?
Parameter context / reference for commands?
Summary-comments that appear when a type or method associated with it is selected or hovered over? -
getDrawTarget(). Useful for functions that draw to images. It would allow them to save a reference to the current draw target and restore it before they return, so the rest of the program doesn't end up confused. -
Can you add a strSplit(<string>,<string separator>) function that returns an array of strings ?
result=strSplit("this+is+my+text","+")after execution, result = ["this","is","my","text"]
-
Can you add function indirect call ?
// classic function function draw() return void // put the address of the classic fonction draw in the field indirectdraw of the structure myForm=[ .prop1=0, .prop2=1, .indirectdraw=@draw ] // call the draw function using the tructure field myForm.indirectdraw() ==> call function drawAn even better use could be to pass as the first argument of the called method the structure itself:
// classic function function draw(self) // access the field of the structure self using self.field return void // put the address of the classic fonction draw in the field indirectdraw of the structure myForm=[ .prop1=0, .prop2=1, .indirectdraw=@draw ] // call the draw function using the tructure field myForm.indirectdraw() ==> call function draw(myForm) because the indirectdraw field is inside myFormAnd now, you can start to play with OOP... :-)
What do you think about that ?
[edit by Martin] Added code tags
-
I think someone already mentioned insert and remove at index for arrays, but some more things that would be nice to have for arrays are
push()pop()shift()andunshift()For anyone curious
push()- Adds a new element to end of an array
pop()- Removes last element from an array
unshift()- Adds new element to beginning of an array
shift()- Removes first element from an array -
@pico8-jihem said in Wishlist:
Can you add a strSplit(<string>,<string separator>) function that returns an array of strings ?
result=strSplit("this+is+my+text","+")after execution, result = ["this","is","my","text"]
Here's my version of that. Takes a string and a separator string (length of 1)
function strSplit( strd, sep ) arr = [] if( len( sep ) == 1 ) then while(( loc = strFind( strd, sep )) >= 0 ) loop if( loc == 0 ) then strd = strd[ 1: ] else arr[ len( arr )] = strd[ :loc - 1 ] strd = strd[ loc: ] endIf repeat endIf return arr -
@Discostew Excellent, mine is very similar. Thank you for sharing :-)
Some of the requested functions can be done programmatically. The purpose of my request is to have a native function (faster than anything we can write). -
@Martin Regarding switch vs if-[elsif...]-else-endif the main difference in many languages is that switch supports ordinal values only (due to optimized jmp table) but if-elsif supports arbitrary expressions (resulting in boolean). So in case F4NS switch supports arbitrary expressions it's a clear vote from me but if not there still might be handy to have elsif keyword.