Sign in to follow this  
Followers 0
DasAuto

looking for array assignment syntax

5 posts in this topic

#1 ·  Posted (edited)

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



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

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

_AdapterConnections()_AlwaysRun()_AppMon()_AppMonEx()_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: 04/09/2015

Share this post


Link to post
Share on other sites

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

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

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  
Followers 0