Pattern matching as a function.
Project description
match_func
Pattern matching as a function.
from match_func import match
# Use ranges!
age = 20
match(age,
{range(0, 3): 'Toddler',
range(3, 14): 'Child',
range(14, 18): 'Teen',
range(18, 65): 'Adult'},
default = 'Elder')
>> 'Adult'
# Use tuples!
name = 'Clara'
match(name,
{('Laura', 'John', 'Luke'): 'First class',
('Clara', 'Nathan'): 'Business',
('Jason', 'Mary'): 'Economy'},
default = 'Non customer')
>> 'Business'
# Use conditions!
value = 5
match(value,
{value < 10: 'Small',
10 <= value <= 20: 'Medium',
value > 20: 'Large'})
>> 'Small'
# Use types!
something = 'Hello'
match(something,
{int: 'Its an integer',
str: 'Its a string'},
default = 'Its something else')
>> 'Its a string'
# Mix and match!
earnings = 10_000
match(earnings,
{str: 'Invalid type: str',
range(0, 5_000): 'Too low',
5_000: 'Exactly 5k',
earnings > 5_000: 'Over the top!'},
default = f'Invalid value: {earnings}')
>> 'Over the top!'
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
match_func-1.0.0.tar.gz
(9.1 kB
view details)
File details
Details for the file match_func-1.0.0.tar.gz
.
File metadata
- Download URL: match_func-1.0.0.tar.gz
- Upload date:
- Size: 9.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.10.6
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0ef85e25ce8ed9bc7fe182df9a9702529eb28a0104f528623fcb5fc96b91fd07 |
|
MD5 | fb41150462b7d9a1e73bbf835879aabd |
|
BLAKE2b-256 | 10b5266b608c4769b63440954e7bcf6004ca215dbc5fffae4e19fc7c3b4e4382 |