Search moodle.org's
Developer Documentation

See Release Notes

  • Bug fixes for general core bugs in 4.0.x will end 8 May 2023 (12 months).
  • Bug fixes for security issues in 4.0.x will end 13 November 2023 (18 months).
  • PHP version: minimum PHP 7.3.0 Note: the minimum PHP version has increased since Moodle 3.10. PHP 7.4.x is also supported.
   1  <?php
   2  
   3  declare(strict_types=1);
   4  
   5  namespace Phpml\Preprocessing;
   6  
   7  final class LambdaTransformer implements Preprocessor
   8  {
   9      /**
  10       * @var callable
  11       */
  12      private $lambda;
  13  
  14      public function __construct(callable $lambda)
  15      {
  16          $this->lambda = $lambda;
  17      }
  18  
  19      public function fit(array $samples, ?array $targets = null): void
  20      {
  21          // nothing to do
  22      }
  23  
  24      public function transform(array &$samples, ?array &$targets = null): void
  25      {
  26          foreach ($samples as &$sample) {
  27              $sample = call_user_func($this->lambda, $sample);
  28          }
  29      }
  30  }