Commits

ziaw  committed 8953f9c

nemerle sample file

  • Participants
  • Parent commits e7e8d10

Comments (0)

Files changed (1)

File tests/examplefiles/nemerle_sample.n

+using System;
+
+namespace Demo.Ns
+{
+  /// sample class
+  public class ClassSample : Base
+  {
+    /* sample multiline comment */
+#region region sample
+    fieldSample : int;
+#endregion
+
+    public virtual someMethod(str : string) : list[double]
+    {
+      def x = "simple string";
+      def x = $"simple $splice string";
+      def x = <#
+        recursive <# string #> sample
+      #>;
+      def x = $<#
+        recursive $splice <# string #> sample
+      #>;
+
+      def localFunc(arg)
+      {
+         arg + 1;
+      }
+
+      match (localFunc(2))
+      {
+        | 3 => "ok";
+        | _ => "fail";
+      }
+
+      using (x = SomeObject())
+      {
+        foreach (item in someCollection)
+        {
+          def i = try
+          {
+            int.Parse(item)
+          }
+          catch
+          {
+            | _ is FormatException => 0;
+          }
+          when (i > 0xff)
+            unless (i < 555L)
+              WriteLine(i);
+          
+        }
+      }
+      protected override overrideSample() : void
+      {}
+
+      private privateSample() : void
+      {}
+
+      public abstract abstractSample() : void
+      {}
+    }
+
+  }
+
+  module ModuleSample
+  {
+  }
+
+  variant RgbColor {
+   | Red
+   | Yellow
+   | Green
+   | Different {
+       red : float;
+       green : float;
+       blue : float;
+     }
+  }
+
+  macro sampleMacro(expr)
+  syntax ("write", expr)
+  {
+    <[ WriteLine($expr) ]>
+  }
+}