The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Индекс форумов
Составление сообщения

Исходное сообщение
"Язык Perl еще далек от забвения, несмотря на заявления 'анал..."
Отправлено Добрый Дохтур, 09-Ноя-09 14:31 
>>> а чем for i in xrange(0,100) не нравится?
>Потому что есть обычная итерация с условием(часто шаг нужно делать не +/-
>1,
>>> [i for i in xrange(0,20,2)]          

[0, 2, 4, 6, 8, 10, 12, 14, 16, 18]

>>> [i for i in xrange(20,0,-3)]

[20, 17, 14, 11, 8, 5, 2]

>нередко встречаются множественные условия, а не только проверка переменной-счетчика)

практически всегда эта переменная-счётчик нужна для последовательного доступа к элементам массива. Вы покажите пример, где жизненно необходим C-style for.
Вон, в ruby тоже нет C-style for, там вообще 100.times { тело цикла }

>И в какой же ситуации так уж безумно нужен "способ получения последовательностей
>случайной длины" ? Безумно не нужно, ничего, в том числе от
>ЯП, если нужно значит что-то в жизни надо поменять к лучему
>:)

простой пример: вам нужно последовательность в виде m положительных полупериодов синуса.
про случайную последовательность случайной длины взято http://www.ibm.com/developerworks/ru/library/l-pycon/index.html

У меня был более жизненный пример. Представьте, что у вас есть некий большой набор измерений за сутки (M) и есть некая величина(v), рассчитываемая на основе этих данных.
Задача: рассчитать допустимый процент потерь исходных данных (M) при известном проценте отклонения для конечного результата(v) и получить данные для диаграммы погрешность v от процента потерь.

>Да и в каком контесте подразумевается случайная последовательность ? Вам нужен цикл
>со случаым числом итераций или множество элементов случайной длины ?
>Предположим, мы хотим получить поток случайных чисел меньших единицы, которые подчиняются обратному ограничению. А именно: мы хотим, чтобы каждое следующее число было по крайней мере на 0.4 больше или меньше предыдущего. Более того, сам поток не бесконечен, а заканчивается после случайного числа шагов. Например, мы прервем его, как только появится число меньшее 0.1. Описанные ограничения несколько схожи с теми, что можно найти в алгоритме "случайного блуждания", причем условие окончания напоминает "локальный минимум", но, определенно, эти требования мягче, чем при решении реальных задач.

И вообще... перл, такой чудный перл:

#!/usr/bin/perl

my $global="string!";

sub foo { print "foo called!\n"; $global="5"; }

$foo="haha";

print "foo=$foo\n";
print "global=$global\n";
print "wow!\n" if defined foo;
print "global=$global\n";
print "foo=$foo\n";

$ ./test.pl      
foo=haha
global=string!
foo called!
wow!
global=5
foo=haha

Ахренеть... я хотел проверить существование переменной, зачем вызывать функцию?
Расскажите, как узнать, что функция уже определена, но без её вызова?
И как узнать, что нам вернула некая функция: строку, число, список, хеш или функцию?

 

Ваше сообщение
Имя*:
EMail:
Для отправки ответов на email укажите знак ! перед адресом, например, !user@host.ru (!! - не показывать email).
Более тонкая настройка отправки ответов производится в профиле зарегистрированного участника форума.
Заголовок*:
Сообщение*:
  Введите код, изображенный на картинке: КОД
 
При общении не допускается: неуважительное отношение к собеседнику, хамство, унизительное обращение, ненормативная лексика, переход на личности, агрессивное поведение, обесценивание собеседника, провоцирование флейма голословными и заведомо ложными заявлениями. Не отвечайте на сообщения, явно нарушающие правила - удаляются не только сами нарушения, но и все ответы на них. Лог модерирования.



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру