作者: 閑舎
日時: 2002/11/21(01:58)
Tsutomu Hiroshima <tsutomu@...> さん wrote.

> 「お題」を提案後考えたのは,
> 「リストを破壊しつつ処理する」ロジックです.

ちょっと眠れないので、時間つぶしです。短いかどうかは、圧縮した書き方にし
たため定かではありませんが、破壊しつつ処理しています。

@list = (1, 2, 3, 5, 7, 8, 10, 12, 14, 15, 16, 17);
$r = join(",", @list);
for ($i = 1, $pre = $list[0]; $i < @list; $pre = $list[$i], $i++) {
  $r =~ s/(-\d+)?,($list[$i])(,|$)/-\2\3/ if ($pre + 1 == $list[$i]);
}
print "$r\n";

# ひとまず自宅を電力系の 100Mbps の光接続にしましたが、ルータまでは 
# 80Mbps 出るのに、プロバイダの ftp サイトまで 30 Mbps しか出ません(^^;。
# こんなものなのでしょうか……ちょっと文句言いたいような気も。

--
本田博通(閑舎)
テキストとスクリプトの http://rakunet.org/TSNET/