Skip to content

Commit 4f90b8d

Browse files
Update RepeatLoop.cs
1 parent cec8ba6 commit 4f90b8d

1 file changed

Lines changed: 15 additions & 34 deletions

File tree

Code/ContextSystem/Contexts/Control/Loops/RepeatLoop.cs

Lines changed: 15 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -47,46 +47,27 @@ repeat 10 with $iter
4747

4848
public override TryAddTokenRes TryAddToken(BaseToken token)
4949
{
50-
switch (token)
50+
if (token is not IValueToken valToken || !valToken.CapableOf<NumberValue>(out var getNumber))
5151
{
52-
case NumberToken numberToken:
52+
return TryAddTokenRes.Error($"Value '{token.RawRep}' cannot be interpreted as a number.");
53+
}
54+
55+
_repeatCountExpression = () =>
56+
{
57+
if (getNumber().HasErrored(out var error, out var value))
5358
{
54-
if (numberToken.Value < 0)
55-
{
56-
return TryAddTokenRes.Error(
57-
$"Value '{numberToken.Value}' cannot be negative.");
58-
}
59-
60-
_repeatCount = (uint)numberToken.Value;
61-
return TryAddTokenRes.End();
59+
return error;
6260
}
63-
64-
case IValueToken valToken:
65-
{
66-
if (!valToken.CapableOf<NumberValue>(out var getNumber))
67-
{
68-
return TryAddTokenRes.Error($"Value '{token.RawRep}' returns a value, but.");
69-
}
70-
71-
_repeatCountExpression = () =>
72-
{
73-
if (getNumber().HasErrored(out var error, out var value))
74-
{
75-
return error;
76-
}
7761

78-
if (value.Value < 0)
79-
{
80-
return $"Value '{value}' cannot be negative.";
81-
}
82-
83-
return (uint)value.Value;
84-
};
85-
return TryAddTokenRes.End();
62+
if (value.Value < 0)
63+
{
64+
return $"Value '{value}' cannot be negative.";
8665
}
87-
}
8866

89-
return TryAddTokenRes.Error($"Value '{token.RawRep}' cannot be interpreted as a number.");
67+
return (uint)value.Value;
68+
};
69+
70+
return TryAddTokenRes.End();
9071
}
9172

9273
public override Result VerifyCurrentState()

0 commit comments

Comments
 (0)