|
|
« Предыдущая тема | Следующая тема » |
Опции темы | Опции просмотра |
|
|
|||||
Регистрация: Apr 2014
Сообщений: 215
|
понятно объяснили, а насчет числа что скажете?
рандом из 8 например, нужно писать диапазон от 1 до 8,или можно указать просто 8 и генератор сам выбирает |
|
|||||
delphic, вы вообще не поняли то, как работает предложенное выше?
Math.random() возвращает случайное число от 0 до 1(например, 0.7584125, или 0.941255124, или 0.30000) Это значит, что, (если у вас присутствует школьное образование) если умножить это число на любое другое число - рандом будет от 0 до этого числа. Например: - рандом от 0 до длины массива. В данном случае, если округлять, вместо отбрасывания целой части: Достаточно немного подумать, чтобы понять, что максимальное число, получаемое в результате этой операции будет равным длине массива(а последний элемент массива всегда имеет индекс на единицу меньше длины), значит это нам не подходит. Так как никогда не выпадает единица, никогда не выпадет ровно число, на которое вы умножаете Math.random, оно будет всегда чуточку меньше. Поэтому, мы можем просто отбросить дробную часть с помощью int(). - вернётся псевдорандомный индекс массива Цитата:
нам нужно, чтобы рандом был между минимальным и максимальным, а значит мы вычитаем из максимального минимальное, и получаем число, на которое нам нужно умножать Math.random(). Затем думаем, как нам получить рандомное число между минимальным и максимальным. Вуаля! Вывод: в школе надо учиться.
__________________
There is no thing in this world that is not simple. |
|
|||||
Регистрация: Apr 2014
Сообщений: 215
|
я лишь спрашивал - рандом из 8 например, нужно писать диапазон от 1 до 8,или можно указать просто 8 и генератор сам выбирает.
при чем тут школа можно было написать и узнать что он возвращает, я не знал как именно он отрабатывает, оказывается да от 0 и до 1 и умножив на число получаем диапазон я не понимал как именно генерируется,я думал что Math.random берет число и из него как то вычисляет,оказывается проще,всем спасибо |
|
|||||
Math.random() использует текущее время в миллисекундах в качестве Seed для псевдорандомного генератора. Он берёт это число, и из него вычисляет, но вам это знать не обязательно.
Всё, что вам нужно знать - это то, что Math.random() возвращает вещественное число [0; 1). Остальное легко написать вручную, зная элементарную школьную математику.
__________________
There is no thing in this world that is not simple. |
|
|||||
Цитата:
С округлением все просто floor - дословно "пол", то есть в меньшую ceil - (от англ. ceiling) дословно "потолок", то есть в сторону большего round - округление по законам математики
__________________
Ко мне можно и нужно обращаться на ты) |
|
|||||
Регистрация: Jun 2014
Адрес: Санкт-Петербург
Сообщений: 185
|
Лично я всегда думал, что int(obj) - это сокращение от new int(obj) и, по сути, возвращает новосозданный инт, соответствующий переданному объекту
__________________
В прошлом - AS3 программист, в данный момент пишу на Haxe |
|
|||||
Нет. Новый объект получается только с использованием директивы new и никак иначе
__________________
Ко мне можно и нужно обращаться на ты) |
|
|||||
Регистрация: Mar 2007
Сообщений: 319
|
Цитата:
var obj:Object = {}; var arr:Array = []; var xml:XML = <xml />; var rgx:RegExp = /a(.*?)b/g; var str:String = ""; тоже создание объекта, просто этот объект другого атомарного типа, по другому конструируется и хранится Последний раз редактировалось Nooob; 30.01.2017 в 23:05. |
|
|||||
Регистрация: Jun 2014
Адрес: Санкт-Петербург
Сообщений: 185
|
Стало интересно узнать про это подробнее. Что понимается по атомарным типом и в чем отличия типа после каста от int'а, который создается с помощью new
__________________
В прошлом - AS3 программист, в данный момент пишу на Haxe |
Часовой пояс GMT +4, время: 23:03. |
|
« Предыдущая тема | Следующая тема » |
Опции темы | |
Опции просмотра | |
|
|