编辑“︁
Nemerle
”︁(章节)
跳转到导航
跳转到搜索
警告:
您没有登录。如果您进行任何编辑,您的IP地址会公开展示。如果您
登录
或
创建账号
,您的编辑会以您的用户名署名,此外还有其他益处。
反垃圾检查。
不要
加入这个!
=== 巨集的例子 === 巨集可以讓你擁有自己的模板(boilerplate),具有靜態檢查功能。<!--code generated for you under the hood, with additional static checks performed by the compiler. They give you the power to programatically generate code.--> ==== 資料庫存取 ==== 例如,使用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);
摘要:
请注意,所有对Local Chinese Wikipedia的贡献均可能会被其他贡献者编辑、修改或删除。如果您不希望您的文字作品被随意编辑,请不要在此提交。
您同时也向我们承诺,您提交的内容为您自己所创作,或是复制自公共领域或类似自由来源(详情请见
Project:著作权
)。
未经许可,请勿提交受著作权保护的作品!
取消
编辑帮助
(在新窗口中打开)
导航菜单
个人工具
未登录
讨论
贡献
创建账号
登录
命名空间
页面
讨论
大陆简体
不转换
简体
繁體
大陆简体
香港繁體
澳門繁體
大马简体
新加坡简体
臺灣正體
查看
阅读
编辑
查看历史
更多
搜索
导航
首页
最近更改
随机页面
MediaWiki帮助
工具
链入页面
相关更改
特殊页面
页面信息