Skip to content

Commit ead17a4

Browse files
authored
Update README.md
1 parent b34698a commit ead17a4

File tree

1 file changed

+73
-56
lines changed

1 file changed

+73
-56
lines changed

README.md

Lines changed: 73 additions & 56 deletions
Original file line numberDiff line numberDiff line change
@@ -31,93 +31,110 @@ end
3131

3232
#### Protocols
3333

34-
iex> inspect Qex.new
35-
"#Qex<[]>"
34+
```elixir
35+
iex> inspect Qex.new
36+
"#Qex<[]>"
3637

37-
iex> Enum.count Qex.new(1..5)
38-
5
38+
iex> Enum.count Qex.new(1..5)
39+
5
3940

40-
iex> Enum.empty? Qex.new
41-
true
41+
iex> Enum.empty? Qex.new
42+
true
4243

43-
iex> Enum.map Qex.new([1, 2, 3]), &(&1 + 1)
44-
[2, 3, 4]
44+
iex> Enum.map Qex.new([1, 2, 3]), &(&1 + 1)
45+
[2, 3, 4]
4546

46-
iex> inspect Enum.into(1..5, %Qex{})
47-
"#Qex<[1, 2, 3, 4, 5]>"
47+
iex> inspect Enum.into(1..5, %Qex{})
48+
"#Qex<[1, 2, 3, 4, 5]>"
49+
```
4850

4951
#### Create a new queue from a range
5052

51-
iex> inspect Qex.new(1..3)
52-
"#Qex<[1, 2, 3]>"
53+
```elixir
54+
iex> inspect Qex.new(1..3)
55+
"#Qex<[1, 2, 3]>"
56+
```
5357

5458
#### Create a new queue from a list
5559

56-
iex> inspect Qex.new([1, 2, 3])
57-
"#Qex<[1, 2, 3]>"
60+
```elixir
61+
iex> inspect Qex.new([1, 2, 3])
62+
"#Qex<[1, 2, 3]>"
63+
```
5864

5965
#### Add an element to the back of the queue
6066

61-
iex> q = Qex.new([:mid])
62-
iex> Enum.to_list Qex.push(q, :back)
63-
[:mid, :back]
67+
```elixir
68+
iex> q = Qex.new([:mid])
69+
iex> Enum.to_list Qex.push(q, :back)
70+
[:mid, :back]
71+
```
6472

6573
#### Add an element to the front of the queue
6674

67-
iex> q = Qex.new([:mid])
68-
iex> Enum.to_list Qex.push_front(q, :front)
69-
[:front, :mid]
75+
```elixir
76+
iex> q = Qex.new([:mid])
77+
iex> Enum.to_list Qex.push_front(q, :front)
78+
[:front, :mid]
79+
```
7080

7181
#### Get and remove an element from the front of the queue
7282

73-
iex> q = Qex.new([:front, :mid])
74-
iex> {{:value, item}, _q} = Qex.pop(q)
75-
iex> item
76-
:front
77-
78-
iex> q = Qex.new
79-
iex> {empty, _q} = Qex.pop(q)
80-
iex> empty
81-
:empty
83+
```elixir
84+
iex> q = Qex.new([:front, :mid])
85+
iex> {{:value, item}, _q} = Qex.pop(q)
86+
iex> item
87+
:front
88+
89+
iex> q = Qex.new
90+
iex> {empty, _q} = Qex.pop(q)
91+
iex> empty
92+
:empty
93+
```
8294

8395
#### Get and remove an element from the back of the queue
8496

85-
iex> q = Qex.new([:mid, :back])
86-
iex> {{:value, item}, _q} = Qex.pop_back(q)
87-
iex> item
88-
:back
89-
90-
iex> q = Qex.new
91-
iex> {empty, _q} = Qex.pop_back(q)
92-
iex> empty
93-
:empty
97+
```elixir
98+
iex> q = Qex.new([:mid, :back])
99+
iex> {{:value, item}, _q} = Qex.pop_back(q)
100+
iex> item
101+
:back
102+
103+
iex> q = Qex.new
104+
iex> {empty, _q} = Qex.pop_back(q)
105+
iex> empty
106+
:empty
107+
```
94108

95109
#### Reverse a queue
96110

97-
iex> q = Qex.new(1..3)
98-
iex> Enum.to_list q
99-
[1, 2, 3]
100-
iex> Enum.to_list Qex.reverse(q)
101-
[3, 2, 1]
111+
```elixir
112+
iex> q = Qex.new(1..3)
113+
iex> Enum.to_list q
114+
[1, 2, 3]
115+
iex> Enum.to_list Qex.reverse(q)
116+
[3, 2, 1]
117+
```
102118

103119
#### Split a queue into two, the front n items are put in the first queue
104120

105-
iex> q = Qex.new 1..5
106-
iex> {q1, q2} = Qex.split(q, 3)
107-
iex> Enum.to_list q1
108-
[1, 2, 3]
109-
iex> Enum.to_list q2
110-
[4, 5]
111-
121+
```elixir
122+
iex> q = Qex.new 1..5
123+
iex> {q1, q2} = Qex.split(q, 3)
124+
iex> Enum.to_list q1
125+
[1, 2, 3]
126+
iex> Enum.to_list q2
127+
[4, 5]
128+
```
112129

113130
#### Join two queues together
114131

115-
iex> q1 = Qex.new 1..3
116-
iex> q2 = Qex.new 4..5
117-
iex> Enum.to_list Qex.join(q1, q2)
118-
[1, 2, 3, 4, 5]
119-
120-
132+
```elixir
133+
iex> q1 = Qex.new 1..3
134+
iex> q2 = Qex.new 4..5
135+
iex> Enum.to_list Qex.join(q1, q2)
136+
[1, 2, 3, 4, 5]
137+
```
121138

122139
## Why not "Queue"?
123140

0 commit comments

Comments
 (0)