-
Notifications
You must be signed in to change notification settings - Fork 89
Foreach features
CodingUnit edited this page Nov 30, 2011
·
2 revisions
-
Category: For and While Loops
-
Description: Features of foreach macro
using System;
using System.Console;
using Nemerle;
public module Program
{
variant Color
{
| Red
| Green
| Blue
| Specific {r : int; g : int; b : int;}
}
public Main() : void
{
def color = [Color.Red(), Color.Specific(70, 128, 100), Color.Blue(), Color.Green(), Color.Specific(0, 0, 0), Color.Specific(50, 20, 0)];
foreach (i in color)
{
| Red => WriteLine("Red color")
| Green => WriteLine("Green color")
| Blue => WriteLine("Blue color")
| Specific(r, g, b) => WriteLine($"Specific color ($r, $g, $b)")
}
foreach (Color.Red in color)
{
WriteLine("Red color")
}
foreach (Color.Specific(255, g, b) in color)
{
WriteLine($"Specific color (255, $g, $b) ")
}
foreach (Color.Specific(0, 0, 0) in color)
{
WriteLine("Black color")
}
foreach (i is Color.Specific when i.g > 10 && i.r < 100 && i.b == 0 in color)
{
WriteLine("Near vinous color")
}
}
}
- Execution result:
Red color
Specific color (70, 128, 100)
Blue color
Green color
Specific color (0, 0, 0)
Specific color (50, 20, 0)
Red color
Black color
Near vinous color
[Copyright ©](Terms of use, legal notice)