Программирование на языке Ruby
Шрифт:
И,
5.28. Генерирование случайных чисел
Если вас устраивают псевдослучайные числа, вам повезло. Именно они предоставляются в большинстве языков, включая и Ruby.
Метод
Если при вызове задается целочисленный параметр
Чтобы «затравить» генератор случайных чисел (задать начальное значение — seed), применяется метод
5.29. Кэширование функций с помощью метода memoize
Пусть имеется вычислительно сложная математическая функция, которую нужно многократно вызывать по ходу работы программы. Если быстродействие критично и при этом можно пожертвовать небольшим количеством памяти, то имеет смысл сохранить результаты вычисления функции в таблице и обращаться к ней во время выполнения. (Тут неявно предполагается, что функция будет часто вызываться с одними
Эта библиотека не входит в стандартный дистрибутив, поэтому придется установить ее вручную.
В следующем примере демонстрируется сложная функция
Обратите внимание, что можно задать имя файла. Это может несколько замедлить работу, зато экономится память, и таким образом мы можем сохранить запомненные результаты и воспользоваться ими при следующих вызовах программы.
В ходе неформального тестирования мы вызывали функцию 50000 раз в цикле. Оказалось, что
Отметим еще, что библиотека
5.30. Заключение
В этой главе были рассмотрены различные представления чисел, в том числе целых (в разных системах счисления) и с плавающей точкой. Мы видели, какие трудности возникают при работе с числами с плавающей точкой и как можно частично обойти эти трудности, применяя рациональные числа. Мы познакомились с явными и неявными преобразованиями, а также с приведениями типов.
Также мы изучили разнообразные способы манипулирования числами, векторами и матрицами. Был приведен обзор стандартных библиотек, полезных для численного анализа, в частности библиотеки
Звёздные корабли. Туманность Андромеды (ил. И. Шалито, Г. Бойко)
Мир приключений изд. Правда
Фантастика:
научная фантастика
рейтинг книги
Черная роза
Любовные романы:
исторические любовные романы
рейтинг книги
Война. Krieg. 1941—1945. Произведения русских и немецких писателей
Проза:
военная проза
рейтинг книги
Солнечный корт
4. Все ради игры
Фантастика:
зарубежная фантастика
рейтинг книги
История США от глубокой древности до 1918 года
Популярная наука от Азимова
Научно-образовательная:
история
рейтинг книги
Время прощать
2. Джейк Брайгенс
Детективы:
триллеры
рейтинг книги
История Второй мировой войны. Блицкриг
Вторая мировая. Взгляд врага
Научно-образовательная:
история
рейтинг книги
Загадка Катилины
3. Roma sub Rosa
Проза:
историческая проза
рейтинг книги
Прапорщик. Назад в СССР. Книга 7
7. Второй шанс
Фантастика:
попаданцы
альтернативная история
рейтинг книги
Русская мафия 1991–2014. Новейшая история бандитской России
Энциклопедия криминала
Документальная литература:
прочая документальная литература
рейтинг книги
Мир Лема - словарь и путеводитель
Фантастика:
научная фантастика
рейтинг книги
Дело «Пестрых». Черная моль
Мастера советского детектива
Детективы:
полицейские детективы
рейтинг книги
Без объявления войны
1. Без объявления войны
Фантастика:
фэнтези
боевая фантастика
рейтинг книги
Фантастика 1967
Фантастика
Фантастика:
научная фантастика
рейтинг книги