2004-04-12から1日間の記事一覧

PHP

PHP5より、rangeで第三引数stepが指定できるらしいので。 function slicer($str, $step) { return array_map( create_function('$x', "return substr($str, \$x, $step);"), range(0, strlen($str)-1, $step)); } 追記:2004-04-14 Rubyで、Array#map使えばO…

Perl

Perlのrangeは、間隔が指定できなかったはずなので、 FPっぽくrange関数を定義。 sub range($$$) { my ($begin, $end, $step) = @_; return ($begin

Ruby

"map"っぽく使いたかったのだけど、無理だったので手続で。 def slicer(pieces, n) result = Array.new (0..pieces.length).step(n) do |i| result

Python

BitTorrentで見かけたコードの断片を関数化。 他の言語でも使い回そうと思い、ユーティリティに追加。 def slicer(pieces, n): return [pieces[x:x+n] for x in xrange(0, len(pieces), n)]