Jump to content
Sign in to follow this  
DasAuto

looking for array assignment syntax

Recommended Posts

DasAuto

Hi Fellow code-naughts. How is it going.

I m trying to do this:

Dim $myArray[4]

;long arduous codes insert here

$myArray = [1, 2, 3, 4] ; <======= and obviously this gives you an error.

#cs 

so besides doing the 

$myArray[0] = 1;

$myArray[1] = 2;

.....

any faster way of doing this?

thanks

#ce

ALso

Second question: all local variables, even arrays are destroyed at the end of their scope right? I am not sure about array being a pointer or not in autoit.

Edited by DasAuto

I code, therefore It exits

Share this post


Link to post
Share on other sites
guinness

Don't use Dim, AutoIt beta help demonstrates why.

Local $aArray[4] = [0, 1, 2, 3]

UDF List:

 
_AdapterConnections()_AlwaysRun()_AppMon()_AppMonEx()_ArrayFilter/_ArrayReduce_BinaryBin()_CheckMsgBox()_CmdLineRaw()_ContextMenu()_ConvertLHWebColor()/_ConvertSHWebColor()_DesktopDimensions()_DisplayPassword()_DotNet_Load()/_DotNet_Unload()_Fibonacci()_FileCompare()_FileCompareContents()_FileNameByHandle()_FilePrefix/SRE()_FindInFile()_GetBackgroundColor()/_SetBackgroundColor()_GetConrolID()_GetCtrlClass()_GetDirectoryFormat()_GetDriveMediaType()_GetFilename()/_GetFilenameExt()_GetHardwareID()_GetIP()_GetIP_Country()_GetOSLanguage()_GetSavedSource()_GetStringSize()_GetSystemPaths()_GetURLImage()_GIFImage()_GoogleWeather()_GUICtrlCreateGroup()_GUICtrlListBox_CreateArray()_GUICtrlListView_CreateArray()_GUICtrlListView_SaveCSV()_GUICtrlListView_SaveHTML()_GUICtrlListView_SaveTxt()_GUICtrlListView_SaveXML()_GUICtrlMenu_Recent()_GUICtrlMenu_SetItemImage()_GUICtrlTreeView_CreateArray()_GUIDisable()_GUIImageList_SetIconFromHandle()_GUIRegisterMsg()_GUISetIcon()_Icon_Clear()/_Icon_Set()_IdleTime()_InetGet()_InetGetGUI()_InetGetProgress()_IPDetails()_IsFileOlder()_IsGUID()_IsHex()_IsPalindrome()_IsRegKey()_IsStringRegExp()_IsSystemDrive()_IsUPX()_IsValidType()_IsWebColor()_Language()_Log()_MicrosoftInternetConnectivity()_MSDNDataType()_PathFull/GetRelative/Split()_PathSplitEx()_PrintFromArray()_ProgressSetMarquee()_ReDim()_RockPaperScissors()/_RockPaperScissorsLizardSpock()_ScrollingCredits_SelfDelete()_SelfRename()_SelfUpdate()_SendTo()_ShellAll()_ShellFile()_ShellFolder()_SingletonHWID()_SingletonPID()_Startup()_StringCompact()_StringIsValid()_StringRegExpMetaCharacters()_StringReplaceWholeWord()_StringStripChars()_Temperature()_TrialPeriod()_UKToUSDate()/_USToUKDate()_WinAPI_Create_CTL_CODE()_WinAPI_CreateGUID()_WMIDateStringToDate()/_DateToWMIDateString()Au3 script parsingAutoIt SearchAutoIt3 PortableAutoIt3WrapperToPragmaAutoItWinGetTitle()/AutoItWinSetTitle()CodingDirToHTML5FileInstallrFileReadLastChars()GeoIP databaseGUI - Only Close ButtonGUI ExamplesGUICtrlDeleteImage()GUICtrlGetBkColor()GUICtrlGetStyle()GUIEventsGUIGetBkColor()Int_Parse() & Int_TryParse()IsISBN()LockFile()Mapping CtrlIDsOOP in AutoItParseHeadersToSciTE()PasswordValidPasteBinPosts Per DayPreExpandProtect GlobalsQueue()Resource UpdateResourcesExSciTE JumpSettings INISHELLHOOKShunting-YardSignature CreatorStack()Stopwatch()StringAddLF()/StringStripLF()StringEOLToCRLF()VSCROLLWM_COPYDATAMore Examples...

Updated: 22/04/2018

Share this post


Link to post
Share on other sites
kylomas

DasAuto,

And if you do NOT want to do it at assignment time you can do it later in a loop like so...

#include <array.au3>

local $myArray[4]

for $i = 0 to 3
    $myArray[$i] = $i+1
Next

_arraydisplay($myArray)

kylomas


Forum Rules         Procedure for posting code

"I like pigs.  Dogs look up to us.  Cats look down on us.  Pigs treat us as equals."

- Sir Winston Churchill

Share this post


Link to post
Share on other sites
DasAuto

Thanks for the replies,

I didn't understand the Dim and Local explanation there.

and unfortunately it is not something can be solved by a loop.

my needs arise from something like this:

 

Func ColorCompare( $p1, $p2)

endfunc

$p1 and $p2 are 2 elements arrays representing pixels

when I call the func ColorCompare, I would like to be able to just do this:

ColorCompare( [23, 53] , [345, 132])

Apparently I can not.


I code, therefore It exits

Share this post


Link to post
Share on other sites
Mat

No, not yet at least. Array literals are on the list of things I would like to see in the language later.

Usually points are passed around as two parameters, so you'd write your function like:

Func ColorCompare($x1, $y1, $x2, $y2)
EndFunc

Then call it like:

ColorCompare(23, 53, 345, 132)

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

×