Что нового

глобальное использование целочисленного Randoma

stormovik

Новичок
Сообщения
58
Репутация
1
согласно справке по математической функции Random
Flag [optional] If this is set to 1 then an integer result will be returned. Default is a floating point number.
чтобы случайное значение было целочисленным, необходимо установить флаг=1. Так понимаю, что этот флаг нужно выставлять каждый раз. Посоветуйте, пожалуйста, можно ли как-нибудь включить его глобально, наподобие opt?
 

madmasles

Модератор
Глобальный модератор
Сообщения
7,790
Репутация
2,322
stormovik [?]
можно ли как-нибудь включить его глобально, наподобие opt?
Нельзя.
чтобы случайное значение было целочисленным, необходимо установить флаг=1... этот флаг нужно выставлять каждый раз.
Можно так сделать.
Код:
For $i = -10 To 10
	ConsoleWrite(_IntRandom($i, $i + 10) & @LF)
Next

Func _IntRandom($i_Min, $i_Max)
	$i_Min = Int($i_Min)
	$i_Max = Int($i_Max)
	If $i_Min >= $i_Max Then Return SetError(1, 0, 0)
	Return Random($i_Min, $i_Max, 1)
EndFunc   ;==>_IntRandom
 

AZJIO

Меценат
Меценат
Сообщения
2,879
Репутация
1,194
В принципе можно:
Код:
$opt = 1
$rnd = Random(2, 9, $opt)
MsgBox(0, 'Сообщение', $rnd)


Но не понятно для чего...

или так, ещё более похоже...
Код:
Global $opt = 1
_opt(1)

$rnd = _Random(2, 9)
MsgBox(0, 'Сообщение', $rnd)

Func _opt($o = 1)
	$opt = $o
EndFunc   ;==>_opt

Func _Random($1, $2)
	Return Random($1, $2, $opt)
EndFunc   ;==>_Random


Но так мы создаём надстройки над надстройками надстроек.
 
Верх