Skip to content

Commit 64b0eed

Browse files
committed
Fix slice range warnings
1 parent 71e816b commit 64b0eed

File tree

8 files changed

+16
-16
lines changed

8 files changed

+16
-16
lines changed

lib/commands/gen_commands.ex

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -24,23 +24,23 @@ defmodule Commands.GeneralCommands do
2424
def dehead(value) do
2525
cond do
2626
Functions.is_iterable(value) -> Stream.drop(value, 1) |> Stream.map(fn x -> x end)
27-
true -> String.slice(to_string(value), 1..-1)
27+
true -> String.slice(to_string(value), 1..-1//1)
2828
end
2929
end
3030

3131
def tail(value) do
3232
cond do
33-
Functions.is_iterable(value) -> hd(Enum.slice(Enum.to_list(value), -1..-1))
33+
Functions.is_iterable(value) -> hd(Enum.slice(Enum.to_list(value), -1..-1//1))
3434
is_integer(value) -> tail(Functions.to_non_number(value))
35-
true -> String.slice(value, -1..-1)
35+
true -> String.slice(value, -1..-1//1)
3636
end
3737
end
3838

3939
def detail(value) do
4040
cond do
4141
Functions.is_iterable(value) ->
4242
value |> Enum.reverse |> tl |> Enum.reverse |> Stream.map(fn x -> x end)
43-
true -> String.slice(to_string(value), 0..-2)
43+
true -> String.slice(to_string(value), 0..-2//1)
4444
end
4545
end
4646

@@ -98,7 +98,7 @@ defmodule Commands.GeneralCommands do
9898
def count(value, element) when Functions.is_iterable(value), do: value |> Enum.count(fn x -> equals(x, element) end)
9999
def count(value, element), do: count(value, element, 0)
100100
defp count("", _, count), do: count
101-
defp count(value, element, count), do: count(value |> String.slice(1..-1), element, count + Functions.to_number(value |> String.starts_with?(element)))
101+
defp count(value, element, count), do: count(value |> String.slice(1..-1//1), element, count + Functions.to_number(value |> String.starts_with?(element)))
102102

103103
def strict_count(value, element) when not Functions.is_iterable(value) and not Functions.is_iterable(element), do: element |> Stream.map(fn x -> count(value, x) end)
104104
def strict_count(value, element) when not Functions.is_iterable(value), do: count(value, element)

lib/commands/int_commands.ex

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -471,7 +471,7 @@ defmodule Commands.IntCommands do
471471
defp from_roman_numeral("", number), do: number
472472
defp from_roman_numeral(roman, number) do
473473
[curr_number, curr_roman] = Enum.find(@roman_number_list, fn [_, y] -> String.starts_with?(roman, y) end)
474-
from_roman_numeral(roman |> String.slice(String.length(curr_roman)..-1), number + curr_number)
474+
from_roman_numeral(roman |> String.slice(String.length(curr_roman)..-1//1), number + curr_number)
475475
end
476476

477477
def median([]), do: []

lib/commands/list_commands.ex

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -72,7 +72,7 @@ defmodule Commands.ListCommands do
7272
Functions.is_iterable(count) -> take_split(value, count)
7373
Functions.is_iterable(value) and count < 0 -> Stream.take(value, length(Enum.to_list(value)) + count) |> Stream.map(fn x -> x end)
7474
Functions.is_iterable(value) -> Stream.take(value, Functions.to_number(count)) |> Stream.map(fn x -> x end)
75-
true -> String.slice(to_string(value), 0..count - 1)
75+
true -> String.slice(to_string(value), 0..count - 1//1)
7676
end
7777
end
7878

lib/commands/str_commands.ex

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -143,7 +143,7 @@ defmodule Commands.StrCommands do
143143
cond do
144144
Regex.match?(~r/^[a-zA-Z]/, string) ->
145145
matches = Regex.named_captures(~r/^(?<string>[a-zA-Z].+?)(?<remaining>(\.|!|\?|$).*)/s, string)
146-
sentence_case(matches["remaining"], parsed <> String.capitalize(String.slice(matches["string"], 0..0)) <> String.slice(matches["string"], 1..-1))
146+
sentence_case(matches["remaining"], parsed <> String.capitalize(String.slice(matches["string"], 0..0)) <> String.slice(matches["string"], 1..-1//1))
147147
true ->
148148
matches = Regex.named_captures(~r/^(?<string>.)(?<remaining>.*)/s, string)
149149
sentence_case(matches["remaining"], parsed <> matches["string"])
@@ -236,7 +236,7 @@ defmodule Commands.StrCommands do
236236
string = to_string(string)
237237
cond do
238238
String.contains?(string, "\n") -> Enum.join(intersected_mirror(String.split(string, "\n")), "\n")
239-
true -> string <> (string |> String.reverse |> String.slice(1..-1) |> transliterate("<>{}()[]\\/", "><}{)(][/\\"))
239+
true -> string <> (string |> String.reverse |> String.slice(1..-1//1) |> transliterate("<>{}()[]\\/", "><}{)(][/\\"))
240240
end
241241
end
242242

lib/interp/canvas.ex

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -60,8 +60,8 @@ defmodule Interp.Canvas do
6060

6161
true ->
6262
case List.last(parsed) do
63-
[:code, prev_op] -> parse_directions(String.slice(string, 1..-1), Enum.slice(parsed, 0..-2) ++ [[:code, prev_op <> String.first(string)]])
64-
_ -> parse_directions(String.slice(string, 1..-1), parsed ++ [[:code, String.first(string)]])
63+
[:code, prev_op] -> parse_directions(String.slice(string, 1..-1//1), Enum.slice(parsed, 0..-2//1) ++ [[:code, prev_op <> String.first(string)]])
64+
_ -> parse_directions(String.slice(string, 1..-1//1), parsed ++ [[:code, String.first(string)]])
6565
end
6666
end
6767
end

lib/interp/functions.ex

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ defmodule Interp.Functions do
3737

3838
if is_bitstring(value) and String.starts_with?(value, "-") do
3939
try do
40-
new_val = String.slice(value, 1..-1)
40+
new_val = String.slice(value, 1..-1//1)
4141
-to_number(new_val)
4242
rescue
4343
_ -> value

lib/interp/interpreter.ex

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,7 @@ defmodule Interp.Interpreter do
5555
def interp_string(string, stack, environment) do
5656
dissected_string = String.split(string, "ÿ")
5757

58-
{elements, stack, environment} = Enum.reduce(Enum.slice(dissected_string, 0..-2), {[], stack, environment},
58+
{elements, stack, environment} = Enum.reduce(Enum.slice(dissected_string, 0..-2//1), {[], stack, environment},
5959
fn (_, {acc, curr_stack, curr_env}) ->
6060
case Stack.pop(curr_stack, curr_env) do
6161
nil -> {acc, curr_stack, curr_env}
@@ -67,7 +67,7 @@ defmodule Interp.Interpreter do
6767
elements == [] ->
6868
{Stack.push(stack, string), environment}
6969
true ->
70-
string = Enum.zip(Enum.slice(dissected_string, 0..-2), Stream.cycle(elements)) ++ [{hd(Enum.slice(dissected_string, -1..-1)), ""}]
70+
string = Enum.zip(Enum.slice(dissected_string, 0..-2//1), Stream.cycle(elements)) ++ [{hd(Enum.slice(dissected_string, -1..-1//1)), ""}]
7171
|> Enum.reduce("", fn ({a, b}, acc) -> acc <> to_string(a) <> to_string(b) end)
7272
{Stack.push(stack, string), environment}
7373
end

lib/reading/input.ex

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ defmodule Reading.InputHandler do
44

55
defp parse_multiline_string(chars) do
66
cond do
7-
String.ends_with?(chars, "\"\"\"") -> String.slice(chars, 0..-4)
7+
String.ends_with?(chars, "\"\"\"") -> String.slice(chars, 0..-4//1)
88
true -> chars <> "\n" <> parse_multiline_string(String.trim_trailing(IO.read(:stdio, :line), "\n"))
99
:eof -> ""
1010
end
@@ -26,7 +26,7 @@ defmodule Reading.InputHandler do
2626
Globals.set(%{global_env | inputs: global_env.inputs ++ [result]})
2727
result
2828
String.starts_with?(input, "\"\"\"") ->
29-
result = parse_multiline_string(String.slice(input, 3..-1))
29+
result = parse_multiline_string(String.slice(input, 3..-1//1))
3030
global_env = Globals.get()
3131
Globals.set(%{global_env | inputs: global_env.inputs ++ [result]})
3232
result

0 commit comments

Comments
 (0)