mirror of
https://github.com/jbranchaud/til
synced 2026-01-03 07:08:01 +00:00
Add Check List Membership as an elixir til
This commit is contained in:
@@ -10,7 +10,7 @@ smart people at [Hashrocket](http://hashrocket.com/).
|
||||
For a steady stream of TILs from a variety of rocketeers, checkout
|
||||
[til.hashrocket.com](https://til.hashrocket.com/).
|
||||
|
||||
_781 TILs and counting..._
|
||||
_782 TILs and counting..._
|
||||
|
||||
---
|
||||
|
||||
@@ -123,6 +123,7 @@ _781 TILs and counting..._
|
||||
- [Assert An Exception Is Raised](elixir/assert-an-exception-is-raised.md)
|
||||
- [Binary Representation Of A String](elixir/binary-representation-of-a-string.md)
|
||||
- [Check For A Substring Match](elixir/check-for-a-substring-match.md)
|
||||
- [Check List Membership](elixir/check-list-membership.md)
|
||||
- [Comparing DateTime Structs](elixir/comparing-datetime-structs.md)
|
||||
- [Compute md5 Digest Of A String](elixir/compute-md5-digest-of-a-string.md)
|
||||
- [Counting Records With Ecto](elixir/counting-records-with-ecto.md)
|
||||
|
||||
21
elixir/check-list-membership.md
Normal file
21
elixir/check-list-membership.md
Normal file
@@ -0,0 +1,21 @@
|
||||
# Check List Membership
|
||||
|
||||
You can use the [`in` operator](https://hexdocs.pm/elixir/operators.html) to
|
||||
check if something appears in a list. This is a handy way of checking if a
|
||||
variable is one of a few acceptable or expected values.
|
||||
|
||||
For instance, a common DateTime comparison pattern relies on this to check
|
||||
if a DateTime is `>=` or `<=` to another DateTime.
|
||||
|
||||
```elixir
|
||||
{:ok, datetime} = DateTime.from_naive(~N[2016-05-24 13:26:08.003], "Etc/UTC")
|
||||
|
||||
DateTime.compare(datetime, DateTime.utc_now()) in [:lt, :eq]
|
||||
```
|
||||
|
||||
Alternatively, you can check that something does not have membership in a
|
||||
list by also including the `not` operator.
|
||||
|
||||
```elixir
|
||||
DateTime.compare(datetime, DateTime.utc_now()) not in [:lt, :eq]
|
||||
```
|
||||
Reference in New Issue
Block a user