ANTICHAT.XYZ    VIDEO.ANTICHAT.XYZ    НОВЫЕ СООБЩЕНИЯ    ФОРУМ  
Баннер 1   Баннер 2
Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей. Здесь обсуждаются безопасность, программирование, технологии и многое другое. Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
Вернуться   Форум АНТИЧАТ > Программирование > PHP, PERL, MySQL, JavaScript
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

[Perl] Рандомный выбор строки из текста
  #1  
Старый 03.05.2010, 11:07
Аватар для apofis
apofis
Познающий
Регистрация: 23.02.2009
Сообщений: 35
Провел на форуме:
267868

Репутация: 0
По умолчанию [Perl] Рандомный выбор строки из текста

Не совсем пойму как рандомно взять строку из файла..
Есть текстовый файл text.txt с текстом:
слово1
слово2
слово3
слово4
...
словоN

Как отсюда взять одно случайное слово?

Последний раз редактировалось apofis; 03.05.2010 в 11:11..
 
Ответить с цитированием

  #2  
Старый 03.05.2010, 11:30
Аватар для POS_troi
POS_troi
Познавший АНТИЧАТ
Регистрация: 01.12.2006
Сообщений: 1,769
Провел на форуме:
3718311

Репутация: 1118


Отправить сообщение для POS_troi с помощью ICQ
По умолчанию

Открываем файл
Определяем общее количество строк
Полученную цифру кидаем в рандом
Получаем случайное число не большее чем общее количество строк
Читаем строку из файла, под номером полученным рандомом


Или тебе нужно уже готовое решение?
 
Ответить с цитированием

  #3  
Старый 03.05.2010, 12:18
Аватар для TheSoul
TheSoul
Познающий
Регистрация: 12.11.2007
Сообщений: 94
Провел на форуме:
4789789

Репутация: 71
По умолчанию

open (FILE, '<text.txt');
chomp (@text = <FILE>);
close FILE;

$rand_text = $text[int(rand scalar @text)];

print $rand_text."\n";
 
Ответить с цитированием

  #4  
Старый 03.05.2010, 13:05
Аватар для apofis
apofis
Познающий
Регистрация: 23.02.2009
Сообщений: 35
Провел на форуме:
267868

Репутация: 0
По умолчанию

Цитата:
Сообщение от POS_troi  
Открываем файл
Определяем общее количество строк
Полученную цифру кидаем в рандом
Получаем случайное число не большее чем общее количество строк
Читаем строку из файла, под номером полученным рандомом


Или тебе нужно уже готовое решение?
Я хотел сделать именно так)
Но не знаю как прочитать определенную по номеру строку из файла.


TheSoul, спасибо большое) Это, наверное, самое верный вариант)
 
Ответить с цитированием

  #5  
Старый 03.05.2010, 16:26
Аватар для taxpayer
taxpayer
Познающий
Регистрация: 17.01.2010
Сообщений: 33
Провел на форуме:
30813

Репутация: 33
По умолчанию

Зачем всё подгружать в память?
В кукбуке есть очень красивый пример, как решается твоя проблема. туц

Код:
$rand_text = $text[int(rand scalar @text)];
в чём приоритет использования и одновременного неиспользования скобок? Кстати, наличие int необязательно
Код:
$rand_text = $text[rand scalar @text];
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
[Perl] Извлечение текста apofis PHP, PERL, MySQL, JavaScript 6 09.04.2010 19:18
[Perl] Кодирование строки по Хаффману eden PHP, PERL, MySQL, JavaScript 12 13.01.2010 04:51
XPath-запрос на выбор части строки Kuzya PHP, PERL, MySQL, JavaScript 1 23.09.2009 17:52
Assembler FAQ GlobalRave С/С++, C#, Delphi, .NET, Asm 2 15.02.2009 18:59



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT.XYZ