LoginSignup
6
6

More than 5 years have passed since last update.

はじめてライブラリを触る(nikic\iter)

Last updated at Posted at 2015-01-23

関数型っぽくなるライブラリがあるとのことで試してみる。

<?php
use function iter\range;
use function iter\map;
use function iter\toArray;
use function iter\fn\operator;

require_once __DIR__ . '/iter-master/src/bootstrap.php';

$nums = range(1, 10);
$numsTimesTen = toArray(map(operator('*', 10), $nums));
// => array(10, 20, 30, 40, 50, 60, 70, 80, 90, 100)

名前空間についての学習が全然出来ていないので間違った理解をしているかもしれないけれど、
rangeは標準関数でもあるのでnamespaceiterと名前を付けて
iterrangeなので標準関数とは別物だよーって教えてあげている、のだと思ってる。

useを上で行わないのであれば、

$numsTimesTen = iter\toArray(iter\map(iter\fn\operator('*', 10), $nums));

というハイパー冗長プログラムになってしまう気がする。
それは避けたい。

でも同一ファイル内でiterの関数全部使ったとしたら、
それはそれですごい量のuseが上に書かれる気がする。現時点でも十分うわーってなる。
それも避けたい…。

でもuseはファイル単位らしく、includeしても継承されないとどっかで拝見したんだよね…。

うーん、上手く利用してる人はどうしてるんだろう

6
6
5

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
6