Что нового

Как выбрать переменные отвечающие некому заданному критерию ?

agikon

Знающий
Сообщения
789
Репутация
17
значение переменным задаются в порцессе работы скрипта.
вот смотрите как выбрать трёх-символьные переменные для рандома в таком списке?

Код:
$var4 = 'sdg'
$var5 = '101'
$var6 = '102'
$var3 = 'ty'
$var7 = '103'
$var1  = '66'
$var8 = '104'
$var9 = '10f'
$var2 = '77'


вот как рандому указать чтобы он рандомил только те переменные которые содержат трехсимвольные значения?
 

madmasles

Модератор
Глобальный модератор
Сообщения
7,790
Репутация
2,323
Re: Как рандомно выбрать переменную?

agikon,
Код:
$var1 = 66
$var2 = 77
$var3 = 88
$iRandom = Random(1, 3, 1)
MsgBox(64, '$var' & $iRandom, Eval('var' & $iRandom))

Switch $iRandom
	Case 1
		MsgBox(64, 'Info', $var1)
	Case 2
		MsgBox(64, 'Info', $var2)
	Case 3
		MsgBox(64, 'Info', $var3)
EndSwitch
 
Автор
A

agikon

Знающий
Сообщения
789
Репутация
17
Re: Как рандомно выбрать переменную?

madmasles
спасибо.

но что-то я совсем не понял, как рандом знает что рандомить?
это ж что получается если вот так записать то рандомить будет

Код:
$var1  = '66'
$var2 = '77'
$var3 = '88'
$var4 = '100'
$var5 = '101'
$var6 = '102'
$var7 = '103'
$var8 = '104'
$var9 = '105'
$iRandom = Random(1, 9, 1)

да проверил, работает но странно как-то, как оно ведает что рандомить?
вобщем я так понял рандомит всё что сверху.
 

Zaramot

I ♥ AutoIt
Сообщения
1,160
Репутация
660
Re: Как рандомно выбрать переменную?

Оно действует так:
Если $iRandom = 1, то выбирается $var1...и.т.д
 
Автор
A

agikon

Знающий
Сообщения
789
Репутация
17
Re: Как рандомно выбрать переменную?

Zaramot
опять не понял, если единичка первая или последняя? ну всмысле тут Random(1, 3, 1).

вобщем, а что если рандому надо указать что рандомить надо только те переменные которые содержат не два знака а три?
то есть до 99 не рандомить, а рандомить только начиная с 100, бо 100 это уже три знака.
вот как указать рандому условие какие переменные рандомить?

ну от например
Код:
$var1  = '66'
$var2 = '77'
$var3 = '99'
$var4 = '100'
$var5 = '101'
$var6 = '102'
$var7 = '103'
$var8 = '104'
$var9 = '105'
 

sngr

AutoIT Гуру
Сообщения
1,011
Репутация
409
Re: Как рандомно выбрать переменную?

random в данном примере выбирает случайно числа от 1 до 3. Посмотри справку.
 
Автор
A

agikon

Знающий
Сообщения
789
Репутация
17
Re: Как рандомно выбрать переменную?

так я ж и говорю как рандому указать какие переменные следует рандомить а какие не рандомить.
вот в чём вопрос.
 

kaster

Мой Аватар, он лучший самый
Команда форума
Глобальный модератор
Сообщения
4,020
Репутация
626
Re: Как рандомно выбрать переменную?

agikon
ты сам должен это знать, какие "рандомить", а какие нет. в примере выше, тебе надо выбрать только переменные $var4 и далее. вот и делай Random(4, 9, 1)
 
Автор
A

agikon

Знающий
Сообщения
789
Репутация
17
Re: Как рандомно выбрать переменную?

Kaster

это если известно какая перемененная будет с двумья символами, а какие с тремья.

а что если переменные задаются в порцессе работы скрипта.
вот смотрите как выбрать трёх-символьные переменные для рандома в таком списке?

Код:
$var4 = 'sdg'
$var5 = '101'
$var6 = '102'
$var3 = 'ty'
$var7 = '103'
$var1  = '66'
$var8 = '104'
$var9 = '10f'
$var2 = '77'


вот как рандому указать чтобы он рандомил только те переменные которые содержат трехсимвольные значения?
 

sngr

AutoIT Гуру
Сообщения
1,011
Репутация
409
Re: Как рандомно выбрать переменную?

никак
 

kaster

Мой Аватар, он лучший самый
Команда форума
Глобальный модератор
Сообщения
4,020
Репутация
626
Re: Как рандомно выбрать переменную?

agikon
какова практическая цель? потому как описанная тобой задач бессмысленна. если тебе нужно именно это, то советую тебе перестроить структуру скрипта. и вообще, твоя задач круто изменилась с момента первого поста, не кажется?
 
Автор
A

agikon

Знающий
Сообщения
789
Репутация
17
Re: Как рандомно выбрать переменную?

Kaster

ну почему бессмыслена?
может быть не именно в рандоме указать условия, а до рандома отгруппировать двухсимвольные переменные от трехсимвольных, а уже потом среди трехсимвольных делать рандом.
 

madmasles

Модератор
Глобальный модератор
Сообщения
7,790
Репутация
2,323
Re: Как рандомно выбрать переменную?

agikon [?]
как рандому указать чтобы он рандомил только те переменные которые содержат трехсимвольные значения?
Код:
$var0 = '999'
$var1 = 'sdg'
$var2 = '101'
$var3 = '102'
$var4 = 'ty'
$var5 = '10'
$var6 = '66'
$var7 = '10'
$var8 = '10f'
$var9 = '77'

Dim $aVar[11]
$iCount = 0
For $i = 0 To 9
	If StringLen(Eval('var' & $i)) = 3 Then
		$iCount += 1
		$aVar[$iCount] = $i
	EndIf
Next
If $iCount Then
	ConsoleWrite($iCount & @LF)
	;ReDim $aVar[$iCount + 1]
	If $iCount > 1 Then
		$iRandom = Random(1, $iCount, 1)
		MsgBox(64, '$var' & $aVar[$iRandom], Eval('var' & $aVar[$iRandom]))
	Else
		MsgBox(64, '$var1', Eval('var' & $aVar[1]))
	EndIf
Else
	MsgBox(16, 'Error', 'Error')
EndIf
 
Автор
A

agikon

Знающий
Сообщения
789
Репутация
17
Kaster
sngr
спасибо, и извините что у меня задача меняется в процессе.

madmasles
это оно!

спасибо за помощь!
 
Верх