Сообщений: 247
Тем: 3
Зарегистрирован: Feb 2012
Репутация:
1,300
rage Написал:У каждого языка есть своя область применения где этот язык наиболее удобен. Perl как раз для подобных задач и был создан, по этому и решение на перле короче и быстрее, чем на пхп.
В каком месте оно короче того, что написал я?О_о На 1-2 строки даже длиннее будет. Да и скорость пыхокода не уступит перловому, так что в данном случае это необоснованно. Вся разница в том, кто и как напишет реализацию, вот и всё. И не удивительно, что работа с объектами и полным распарсом XML-структуры выглядит громоздкой и неповоротливой - в данной задаче это совершенно не нужно.
// aka Deft
Сообщений: 856
Тем: 9
Зарегистрирован: Jul 2011
Репутация:
2,852
05-05-2012, 06:18 PM
(Сообщение последний раз редактировалось: 05-05-2012, 11:11 PM Shayne.)
Пока вы не убежали еще 1 вопрос: я чутка наморозил с конечной структурой
вместо
Код: 13031 Apiga 1-2 [100.0000%]
13034 Apiga 4-6 [100.0000%]
13034 Pirate's Booty 1-1 [50.0000%]
13035 Apiga 1-3 [100.0000%]
13035 Pirate's Booty 1-1 [100.0000%]
13036 Magic Reagents 1-4 [100.0000%]
13036 Philosopher's Stone Ore 1-2 [100.0000%]
13036 Philosopher's Stone Conversion Formula 1-1
надо
Код: 13031 Apiga 1-2 [100.0000%]
13034 Apiga 4-6 [100.0000%]\nPirate's Booty 1-1 [50.0000%]
13035 Apiga 1-3 [100.0000%]\nPirate's Booty 1-1 [100.0000%]
13036 Magic Reagents 1-4 [100.0000%]\nPhilosopher's Stone Ore 1-2 [100.0000%]\nPhilosopher's Stone Conversion Formula 1-1
Посоветуите чего?
Сообщений: 177
Тем: 2
Зарегистрирован: Feb 2012
Репутация:
2,588
05-05-2012, 08:36 PM
(Сообщение последний раз редактировалось: 05-05-2012, 08:37 PM rage.)
Yorie Написал:В каком месте оно короче того, что написал я?О_о На 1-2 строки даже длиннее будет. Да и скорость пыхокода не уступит перловому, так что в данном случае это необоснованно. Вся разница в том, кто и как напишет реализацию, вот и всё. И не удивительно, что работа с объектами и полным распарсом XML-структуры выглядит громоздкой и неповоротливой - в данной задаче это совершенно не нужно. Ну да, переписать мой код с перла на пхп много умна не надо.
Я имел ввиду то, что начинающий пхп программист даже не задумается об использовании регулярных выражений для решения подобных задач. В то время как на перле без них никуда.
ЗЫ Я не говорю, что перл круче пхп, я лишь хочу сказать, что для каждой задачи есть свой наиболее подходящий язык. Просто не стоит ограничивать себя тем или иным языком.
Добавлено через 56 секунд
Shayne Написал:Пока вы не убежали еще 1 вопрос: я чутка наморозил с конечной структурой
вместо
Код: 13031 Дроп Apiga 1-2 [100.0000%]
13034 Apiga 4-6 [100.0000%]
13034 Pirate's Booty 1-1 [50.0000%]
13035 Apiga 1-3 [100.0000%]
13035 Pirate's Booty 1-1 [100.0000%]
13036 Magic Reagents 1-4 [100.0000%]
13036 Philosopher's Stone Ore 1-2 [100.0000%]
13036 Philosopher's Stone Conversion Formula 1-1
надо
Код: 13031 Дроп Apiga 1-2 [100.0000%]
13034 Apiga 4-6 [100.0000%]\nPirate's Booty 1-1 [50.0000%]
13035 Apiga 1-3 [100.0000%]\nPirate's Booty 1-1 [100.0000%]
13036 Magic Reagents 1-4 [100.0000%]\nPhilosopher's Stone Ore 1-2 [100.0000%]\nPhilosopher's Stone Conversion Formula 1-1
Посоветуите чего? А что тут советовать? По моему модифицировать предложенные решения нет никаких проблем.
Сообщений: 247
Тем: 3
Зарегистрирован: Feb 2012
Репутация:
1,300
offtop
rage Написал:Ну да, переписать мой код с перла на пхп много умна не надо.
Я имел ввиду то, что начинающий пхп программист даже не задумается об использовании регулярных выражений для решения подобных задач. В то время как на перле без них никуда.
ЗЫ Я не говорю, что перл круче пхп, я лишь хочу сказать, что для каждой задачи есть свой наиболее подходящий язык. Просто не стоит ограничивать себя тем или иным языком.
Ааа, ну да. А написать 10 строчек на перле - надо много ума, как я понял. Я всего лишь показал Вам то, что PHP совершенно ничем не хуже Перла, написав идентичный пыхокод. Да и против Перла я никогда ничего не имел.
А Вы у нас, значится, начинающий перлокодер? Зачем сравнивать код, написанный человеком, хорошо владеющим Perl и новичка в PHP? Все равно, что сравнивать колесо и сам автомобиль. Зато, почему-то мой код со своим Вы никак сравнить не хотите - я же тупо скопипастил высшее творение на Перле, йопте, и оно в сравнение не может идти с гениальным умом :redlol:
// aka Deft
Сообщений: 177
Тем: 2
Зарегистрирован: Feb 2012
Репутация:
2,588
Yorie Написал:Зачем сравнивать код, написанный человеком, хорошо владеющим Perl и новичка в PHP? Все равно, что сравнивать колесо и сам автомобиль. Зато, почему-то мой код со своим Вы никак сравнить не хотите - я же тупо скопипастил высшее творение на Перле, йопте, и оно в сравнение не может идти с гениальным умом :redlol: Это была ирония друг мой, ирония...
В прочем, агр защитан
Сообщений: 247
Тем: 3
Зарегистрирован: Feb 2012
Репутация:
1,300
offtop
rage Написал:Это была ирония друг мой, ирония...
В прочем, агр защитан
1:1
.............
// aka Deft
Сообщений: 856
Тем: 9
Зарегистрирован: Jul 2011
Репутация:
2,852
rage Написал:А что тут советовать? По моему модифицировать предложенные решения нет никаких проблем. Мне не кажется это таким легким:Olen':
Сообщений: 177
Тем: 2
Зарегистрирован: Feb 2012
Репутация:
2,588
Shayne Написал:Мне не кажется это таким легким:Olen': [src=perl]
#!/usr/bin/perl
use strict;
my($npcId, $gchance);
open(FH,"<npc.xml") or die "$!\n";
while(<FH>)
{
my $str = $_;
if($str =~/npc id="(\d+)"/)
{
$npcId = $1;
print "\n$npcId\t";
}
elsif($str =~/group chance="(.+?)"/)
{
$gchance = $1;
}
elsif($str =~/\<reward\s+item_id="(\d+)" min="(\d+)" max="(\d+)" chance="(.+?)".+?\<\!--(.+?)--\>/)
{
print "$5 $2-$3 [$gchance * 100 / $4]\\n";
}
}
close(FH);
[/src]
Сообщений: 856
Тем: 9
Зарегистрирован: Jul 2011
Репутация:
2,852
Ай, неведомая *****, мало того, что не понятен так еще и попробуй пойми как этот скрипт запустить...:ea: Уж лучше останусь пехепистом...
Сообщений: 177
Тем: 2
Зарегистрирован: Feb 2012
Репутация:
2,588
Запустить легко, под любой nix системой "./script.pl" при это входной фаил должен называться npc.xml и лежать в той же папке что и скрипт. Под виндой, поставить перл и запустить "perl script.pl" при этом perl.exe должен быть в PATH.
|