(Translated by https://www.hiragana.jp/)
Nemerle - 维基百科,自由的百科全书 とべ转到内容ないよう

Nemerle

本页使用了标题或全文手工转换
维基百科ひゃっか自由じゆうてき百科ひゃっかぜん
Nemerle
编程范型范型: 函数かんすうしき, 指令しれいしき, もと编程, めんこう对象
設計せっけいしゃKamil Skalski, Michał Moskal, Prof. Leszek Pacholski, Paweł Olszta 于どるいばらかわらおっと大學だいがく
じつ作者さくしゃJetBrains
发行时间2003ねん,​21ねんまえ​(2003
とうぜん版本はんぽん
  • 1.2.547.0 (2017ねん9がつ1にち)[1]
編輯維基數據鏈接
かたたい系統けいとう类型推论, 名称めいしょう, せい, つよ类型
けい统平だいCLI
ぶんけん扩展めい.n
あみnemerle.org
主要しゅようさく產品さんぴん
Nemerle
啟發けいはつげん
C#, Lisp, ML

Nemerleほろ公司こうし提出ていしゅつてき.NET平台ひらだいうえてき新語しんごごとゆかりWrocław大學だいがくてきKamil Skalski、Michał Moskal、Prof. Leszek Pacholski、Paweł Olsztとうじん發明はつめい

はんれい

[编辑]

Hello, World!

[编辑]

いち傳統でんとうてき"Hello World!"以被うつしなりC#-likeてき風格ふうかく

class Hello {
  static Main () : void {
    System.Console.WriteLine("Hello, world!");
  }
}

あるさら簡捷かんしょう

System.Console.WriteLine("Hello, world!");

きょしゅうてきれい

[编辑]

きょしゅう以讓你擁ゆう自己じこてきばん(boilerplate),具有ぐゆう靜態せいたいけん查功のう

資料しりょうそん

[编辑]

れい如,使用しようNemerle macros以將SQLしげる

ExecuteReaderLoop ("SELECT firstname, lastname FROM employee WHERE firstname = $myparm", dbcon,
{
  System.Console.WriteLine ("Name: {0} {1}", firstname, lastname) 
});

がわ

string sql = "SELECT firstname, lastname FROM employee WHERE firstname = :a";
NpgsqlCommand dbcmd = new NpgsqlCommand(sql, dbcon, dbtran);
dbcmd.Parameters.Add("a", myparm);

NpgsqlReader reader = dbcmd.ExecuteReader();

while(reader.Read()) {
  string firstname = reader.GetString (0);
  string lastname = reader.GetString (1);
  System.Console.WriteLine ("Name: {0} {1}", firstname, lastname) 
}
reader.Close();
dbcmd.Dispose();

上述じょうじゅつてきほどしき碼不僅只かくれ藏部くらべ份的動作どうささら增加ぞうかへんやくざい查詢くしじょうてき效率こうりつ。這裡使用しようてき變數へんすうゆかり資料しりょうかいでんぎょう資料しりょう(columns)。ExecuteReaderLoopきょ集會しゅうかいさんせい一些你想要的粗略的程式碼。而且,連結れんけつ資料しりょうなみけん查SQL語法ごほう合法ごうほう

新語しんごげんけん

[编辑]

使用しようNemerleきょしゅう(macros)以產せい更新こうしんしきてき語法ごほう(syntax):

macro ReverseFor(i, begin, body) 
syntax("ford", "(", i, ";", begin, ")", body)
{
  <[ for($i = $begin; $i >= 0; $i--)$body ]>
}

定義ていぎいちきょしゅうford(EXPR ; EXPR)EXPR syntaxうつしなり

ford(i ; n)print (i);

Nemerle結合けつごうASP.NET

[编辑]

Nemerle以被直接ちょくせつ嵌入かんにゅうASP.NET:

<%@ Page Language="Nemerle" %>
 <script runat="server">
 
     Page_Load(_ : object, _ : EventArgs): void {
         Message.Text = $"You last accessed this page at: $(DateTime.Now)";
     }
 
     EnterBtn_Click(_ : object, _ : EventArgs): void {
         Message.Text = $"Hi $(Name.Text), welcome to ASP.NET!";
     }
 
 </script>
 
 <html>
     <body>
         <form runat="server">
             Please enter your name: <asp:TextBox ID="Name" runat="server" />
             <asp:Button OnClick="EnterBtn_Click" Text="Enter" runat="server" />
 
             <p><asp:Label ID="Message" runat="server" /></p>
         </form>
     </body>
 </html>

...あるものもうかなり單一たんいつ檔案格式かくしきいちぎょう完成かんせい

<%@ Page Language="Nemerle" Src="test.n" Inherits="Test" %>

PInvoke

[编辑]

Nemerleゆうさらおお原生げんせい平台ひらだいはこしき(native platform libraries)。風格ふうかく非常ひじょう類似るいじC#'s其它.NET平台ひらだいうえてきげん下面かめんさい簡單かんたんてきれい

using System;
using System.Runtime.InteropServices;

class PlatformInvokeTest
{
    [DllImport("msvcrt.dll")]
    public extern static puts(c : string): int;
 
    [DllImport("msvcrt.dll")]
    internal extern static _flushall() : int;
    
    public static Main() : void
    {
        _ = puts("Test");
        _ = _flushall();
    }
}

外部がいぶ連結れんけつ

[编辑]
  1. ^ http://nemerle.org/BuildHistory?major=1&minor=2.
  2. ^ Nemerle 1.2.507.0