Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/code-hex/p5-list-flatten-xs
Fast flatten
https://github.com/code-hex/p5-list-flatten-xs
fast flatten list perl perl5 xs
Last synced: about 1 month ago
JSON representation
Fast flatten
- Host: GitHub
- URL: https://github.com/code-hex/p5-list-flatten-xs
- Owner: Code-Hex
- License: other
- Created: 2017-03-22T08:42:00.000Z (over 7 years ago)
- Default Branch: master
- Last Pushed: 2018-11-28T00:41:41.000Z (almost 6 years ago)
- Last Synced: 2024-09-28T19:01:26.528Z (about 2 months ago)
- Topics: fast, flatten, list, perl, perl5, xs
- Language: Perl
- Homepage:
- Size: 84 KB
- Stars: 1
- Watchers: 3
- Forks: 1
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- Changelog: Changes
- License: LICENSE
Awesome Lists containing this project
README
[![Build Status](https://travis-ci.org/Code-Hex/p5-List-Flatten-XS.svg?branch=master)](https://travis-ci.org/Code-Hex/p5-List-Flatten-XS)
# NAMEList::Flatten::XS - [List::Flatten](https://metacpan.org/pod/List::Flatten) with XS
# SYNOPSIS
use List::Flatten::XS 'flatten';
my $ref_1 = +{a => 10, b => 20, c => 'Hello'};
my $ref_2 = bless +{a => 10, b => 20, c => 'Hello'}, 'Nyan';
my $ref_3 = bless $ref_2, 'Waon';my $complex_list = [[["foo", "bar", 3], "baz", 5], $ref_1, "hoge", [$ref_2, ["huga", [1], "K"], $ref_3]];
# got: ["foo", "bar", 3, "baz", 5, $ref_1, "hoge", $ref_2, "huga", 1, "K", $ref_3];
my $flatted = flatten($complex_list);# got: ("foo", "bar", 3, "baz", 5, $ref_1, "hoge", $ref_2, "huga", 1, "K", $ref_3);
my @flatted_with_array = flatten($complex_list);# got: [["foo", "bar", 3], "baz", 5, $ref_1, "hoge", $ref_2, ["huga", [1], "K"], $ref_3]
my $flatted_level = flatten($complex_list, 1);# got: (["foo", "bar", 3], "baz", 5, $ref_1, "hoge", $ref_2, ["huga", [1], "K"], $ref_3)
my @flatted_level_with_array = flatten($complex_list, 1);# DESCRIPTION
List::Flatten::XS is provided flatten routine like [Ruby's Array.flatten](https://ruby-doc.org/core-2.2.0/Array.html#method-i-flatten).
So, you can flat complex list with simply or you can flat with specify nested level.# LICENSE
Copyright (C) CodeHex.
This library is free software; you can redistribute it and/or modify
it under the same terms as Perl itself.# AUTHOR
K