HOME FORUMS MEMBERS RECENT POSTS LOG IN  
× Авторизация
Имя пользователя:
Пароль:
Нет аккаунта? Регистрация
Баннер 1   Баннер 2
НОВЫЕ ТОРГОВАЯ НОВОСТИ ЧАТ
loading...
Скрыть
Вернуться   ANTICHAT > ПРОГРАММИРОВАНИЕ > PHP
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

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

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

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

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

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

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

Репутация: 1118


По умолчанию

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


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

  #3  
Старый 03.05.2010, 12:18
TheSoul
Познающий
Регистрация: 12.11.2007
Сообщений: 94
С нами: 9734391

Репутация: 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
Познающий
Регистрация: 23.02.2009
Сообщений: 35
С нами: 9059503

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

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


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


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

  #5  
Старый 03.05.2010, 16:26
taxpayer
Познающий
Регистрация: 17.01.2010
Сообщений: 33
С нами: 8586496

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

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

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



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



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


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




ANTICHAT ™ © 2001- Antichat Kft.

×

Создать сделку

Продавец: ник или ID

Название сделки:

Сумма USDT:

Срок сделки, дней:

Кто платит комиссию:

Условия сделки:

После создания сделки средства будут зарезервированы в холде до завершения сделки.

×

Мои сделки

Загрузка...
×

Сделка


Загрузка чата...