protected $description = 'Search through the movie collection';
public function handle($arguments) {
- $results = array_map(
- function($moviename) use ($arguments) {
- similar_text($arguments, substr($moviename, 0, -7) ?: '', $perc);
- return ['title' => $moviename, 'similarity' => $perc];
- },
- scandir('/mnt/media/Movies')
+ $top5 = ∘(unlines, aaray_column('title'), aaray_slice(0)(5), 'array_reverse', 'array_values', ssort(∘(∘f(field('similarity')), ⬄, field('similarity'))));
+ $movies = map(function($movie) use ($arguments) {
+ similar_text($arguments, substr($movie, 0, -7) ?: '', $perc);
+ return ['title' => $movie, 'similarity' => $perc];
+ })(scandir('/mnt/media/Movies'));
+
+ $this->replyWithMessage(
+ [
+ 'text' => "Here are the most similar movies titles I could find...\n\n" . $top5($movies)
+ ]
);
-
- uasort($results, function($a, $b) {
- return $b['similarity'] <=> $a['similarity'];
- });
-
- $results = array_column(array_slice(array_values($results), 0, 5), 'title');
- $this->replyWithMessage(['text' => "Here are the most similar movies titles I could find...\n\n" . implode("\n", $results)]);
}
}
);