ets: update
This commit is contained in:
parent
38bbb94f7c
commit
2a35329c95
20
ets.md
20
ets.md
|
@ -1,33 +1,42 @@
|
||||||
---
|
---
|
||||||
title: Erlang ETS
|
title: Erlang ETS
|
||||||
category: Elixir
|
category: Elixir
|
||||||
|
layout: 2017/sheet
|
||||||
---
|
---
|
||||||
|
|
||||||
|
## ETS
|
||||||
|
|
||||||
|
### Usage
|
||||||
|
|
||||||
```elixir
|
```elixir
|
||||||
iex> table = :ets.new(:my_table, [])
|
iex> table = :ets.new(:my_table, [])
|
||||||
8211
|
8211
|
||||||
|
```
|
||||||
|
|
||||||
|
```elixir
|
||||||
iex> :ets.insert(table, {:fruit, "Apple"})
|
iex> :ets.insert(table, {:fruit, "Apple"})
|
||||||
iex> :ets.lookup(table, :fruit)
|
iex> :ets.lookup(table, :fruit)
|
||||||
[{:fruit, "Apple"}]
|
[{:fruit, "Apple"}]
|
||||||
|
```
|
||||||
|
|
||||||
|
```elixir
|
||||||
iex> :ets.delete(table)
|
iex> :ets.delete(table)
|
||||||
iex> :ets.delete_all_objects(table)
|
iex> :ets.delete_all_objects(table)
|
||||||
```
|
```
|
||||||
|
|
||||||
### Flags
|
### Flags
|
||||||
|
|
||||||
```
|
```elixir
|
||||||
iex> table = :ets.new(:my_table, [:set, :protected])
|
iex> table = :ets.new(:my_table, [:set, :protected])
|
||||||
```
|
```
|
||||||
|
{: .-setup}
|
||||||
|
|
||||||
- `:set` - no duplicate keys (or: `:ordered_set`, `:bag`, `:duplicate_bag`)
|
| `:set` | no duplicate keys (or: `:ordered_set`, `:bag`, `:duplicate_bag`) |
|
||||||
- `:protected` - only this process can use it (or: `:public`, `:private`)
|
| `:protected` | only this process can use it (or: `:public`, `:private`) |
|
||||||
|
|
||||||
### Other functions
|
### Ordered sets
|
||||||
|
|
||||||
```elixir
|
```elixir
|
||||||
# Ordered sets
|
|
||||||
:ets.first(table)
|
:ets.first(table)
|
||||||
:ets.last(table)
|
:ets.last(table)
|
||||||
:ets.next(table, key)
|
:ets.next(table, key)
|
||||||
|
@ -35,6 +44,7 @@ iex> table = :ets.new(:my_table, [:set, :protected])
|
||||||
```
|
```
|
||||||
|
|
||||||
## References
|
## References
|
||||||
|
{: .-one-column}
|
||||||
|
|
||||||
* <http://erlang.org/doc/man/ets.html>
|
* <http://erlang.org/doc/man/ets.html>
|
||||||
* <http://learnyousomeerlang.com/ets>
|
* <http://learnyousomeerlang.com/ets>
|
||||||
|
|
Loading…
Reference in New Issue