Sign in to follow this  
Followers 0
sigil

passing an array to a function

2 posts in this topic

I want to read some characters from an array and return an array with those characters. Here is the function:

func getword($array, byref $index)
    while $array[$index]=$null
        $index=$index+1
    wend
    if $array[$index]=$termstr then
        return $null
    else
        dim $word[1]
        $word[0]=0
        while iswordchar($array[$index])
            $word[0]=$word[0]+1
            _arrayadd($word,$array[$index])
            $index=$index+1
        wend
    endif
endfunc

I'm passing it an array in the last line of this code block:

$size=filegetsize($path)
$handle=fileopen($path,0)
$fullstring=fileread($handle,$size)
fileclose($handle)
$stringarray=stringsplit($fullstring,"")

;adds the terminal element
$stringarray=_arrayadd($stringarray,$termstr)

$place=1
$word=getword($stringarray,$place)

But when I run, I get this message:

while $array[$index]=$null

while $array^ ERROR

Error: Subscript used with non-Array variable.

But I declared $stringarray as an array by using stringsplit(). I don't understand why the function isn't accepting it as an array.

Share this post


Link to post
Share on other sites



Here is your code cut down to something that will show the issue and will run by itself:

$fullstring = "stringstringstring"
$stringarray = StringSplit($fullstring, "")

Global $null = 1
Global $place = 1
Global $word = getword($stringarray, $place)

Func getword($array, ByRef $index)
    While $array[$index] = $null
        $index = $index + 1
    WEnd
EndFunc
I'm not sure if Global is the "proper" way to solve your problem, but it works.


[size="1"][font="Arial"].[u].[/u][/font][/size]

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