birdwatcher: (Default)
[personal profile] birdwatcher
Мне нужен язык, в котором есть синтаксис
foreach my $element (@array) {
      ...
}
и при этом в теле цикла легко определить, указывает ли уже $element на последний элемент, или еще нет. От этого зависит, печатать ли запятую.

Date: 2006-10-17 04:05 pm (UTC)
lxe: (Default)
From: [personal profile] lxe
java.util.Enumeration

Date: 2006-10-17 04:21 pm (UTC)
From: [identity profile] birdwatcher.livejournal.com
Авторам примера [1238 (http://kickjava.com/1179.htm)] воспользоваться этим свойством не удалось.

Date: 2006-10-17 04:26 pm (UTC)
From: [identity profile] birdwatcher.livejournal.com
Не работает, если требуется напечатать f(array[0]), f(array[1]), ..., f(array[n]).

Date: 2006-10-17 04:36 pm (UTC)
From: [identity profile] birdwatcher.livejournal.com
Хм! Надо посмотреть.

Date: 2006-10-17 05:15 pm (UTC)
From: [identity profile] scriptum.livejournal.com
java: iterator.hasNext().

Date: 2006-10-17 05:41 pm (UTC)
From: [identity profile] vbvb.livejournal.com
Ну или Perl, join( ', ', map( {f($_)} @array ))

А вот и ответ, между прочим

Date: 2006-10-17 05:44 pm (UTC)
From: [identity profile] birdwatcher.livejournal.com
Ух ты! Век живи, век учись.
From: [identity profile] scriptum.livejournal.com
Понял, что руби - это такой пёрл - тьфу.
From: [identity profile] birdwatcher.livejournal.com
Радикальный язык! Все делается само собой и в том месте, где нужно.
From: [identity profile] scriptum.livejournal.com
Нет, в языковый спор я принципиально не вступаю.

Date: 2006-10-17 06:28 pm (UTC)
From: [identity profile] avva.livejournal.com
или perl6: join ',' @array>>.f

Date: 2006-10-17 06:37 pm (UTC)
From: [identity profile] avva.livejournal.com
первоначальное же требование, более общее, выполняется в perl6 примерно так:

for @array.kv -> $element, $index {
if ($index == @array.last) {
...
}
}

Date: 2006-10-17 06:39 pm (UTC)
From: [identity profile] birdwatcher.livejournal.com
О! Никто не спит. А perl6 уже считается работающим?

Date: 2006-10-17 06:46 pm (UTC)
From: [identity profile] avva.livejournal.com
Нет пока, но дело сдвинулось с мертвой точки полтора года назад и быстро идет к тому.

Date: 2006-10-17 06:58 pm (UTC)
From: [identity profile] fentucci.livejournal.com
array.map(f).join(",");

javascript

Date: 2006-10-17 07:13 pm (UTC)
From: [identity profile] syarzhuk.livejournal.com
пока что красивше всех!

Date: 2006-10-17 08:36 pm (UTC)
From: (Anonymous)
for(int i = 0; i < SIZE; i++)
{

}

Date: 2006-10-17 11:56 pm (UTC)
From: [identity profile] birdwatcher.livejournal.com
Я просил высокого уровня.

Date: 2006-10-18 03:48 am (UTC)
From: (Anonymous)
prisobach schetchik... i proveryaj ego s max array size.
eto v lyubom yazyke mojno sdelat :)

Date: 2006-10-18 07:26 am (UTC)
From: [identity profile] avva.livejournal.com
Да, верно, меняю свой предыдущий perl6 "join ',' @array>>.f" на этот:

@array>>.f.join(',');

:)

Date: 2006-10-18 08:15 am (UTC)
From: [identity profile] green-fr.livejournal.com
Т.е. ты ищещь язык со странной функцией, заменяющей 2 читабельные строчки (if (i == list.size())), реализуемые на любом языке? Напиши сам такую функцию и положи её в библиотечку под названием toolbox. Я как раз против введения в язык "множества полезных штучек".

Date: 2006-10-18 12:40 pm (UTC)
From: [identity profile] birdwatcher.livejournal.com
В перле все остальное заменили, стало гораздо лучше. В перле6, как видим, заменили и это последнее.

Date: 2006-10-18 02:21 pm (UTC)
From: [identity profile] ilya-dogolazky.livejournal.com
Во-во, именно так.