Что нового

использование оператора присвоения

stormovik

Новичок
Сообщения
58
Репутация
1
простейшая задачка, присвоить
Код:
$a[1]=100


однако

раз за разом выдается ошибка
D:\test.au3 (18) : ==> Expected a "=" operator in assignment statement.:
$a[1]=100
$a^ ERROR
>Exit code: 1 Time: 0.712

команда $a = 100 проходит нормально.
что я делаю не так и что недопонимаю в присвоении?
 

WSWR

AutoIT Гуру
Сообщения
941
Репутация
363
stormovik
Массив нужно объявить
Код:
Local $a[1] = [100]

или
Код:
Dim $a[1] = [100]
 

madmasles

Модератор
Глобальный модератор
Сообщения
7,790
Репутация
2,322
stormovik,
Предупреждение За нарушение правил форума (пункт В.11):
Любые отрывки AutoIt кода необходимо заключать в тег [autoit]
autoit.gif
(подробнее), а обычный код соответственно в тег [code]
code.gif
(подробнее). Также большие выдержки текста помещайте под тег [spoiler]
spoiler.gif
(подробнее), там где это поддерживается естественно. Как в случае с названием темы, также короткое и эргономичное сообщение привлекает больше внимания, и шансы на получение конкретного ответа увеличиваются.


С уважением, ваш Глобальный модератор.
 
Автор
S

stormovik

Новичок
Сообщения
58
Репутация
1
если
Код:
Dim $a[1]=[100]


то при выполнении

Код:
$y=$a[1]+Random(2,3)


возникает ошибка

D:\test.au3 (25) : ==> Array variable has incorrect number of subscripts or subscript dimension range exceeded.:
$y=$a[1]+Random(2,3)
 

WSWR

AutoIT Гуру
Сообщения
941
Репутация
363
stormovik

Код:
Dim $a[1]=[100]

вообще можно так записать:
Код:
Dim $a[1] ; создаем массив из одного элемента, и его номер - 0
$a[0]=[100]


Код:
Dim $a[1]=[100]

$y=$a[0]+Random(2,3)
 
Автор
S

stormovik

Новичок
Сообщения
58
Репутация
1
вероятно, так будет проще
требуется найти колонку черных точек

Код:
; начало колонки
$coor_xi=170
$coor_yi=100

Dim $a[1]=[100]

For $i = 0 To 20

$x=$coor_xi+Random(-5,5) ; $x колебается около заранее заданного значения
$y=$a[1]+Random(2,3) ; а вот $y  зависит от того, где именно найдется ближайшая черная точка

$a=PixelSearch($coor_xi,$coor_yi,$coor_xi,$coor_yi+150,0x000000) ; 

Next


конечно, можно объявить

Код:
Dim $a[1]=[1]
Dim $a[2]=[100]

но нет ли более правильного решения, не требующего таких "заглушек"?
 
Верх