[英]How to create nested macro in Boo
我在Boo中創建嵌套宏,我編寫了以下程序:
macro text:
macro subMacro:
text["Text"] = "Hello World"
return [|
block:
System.Console.WriteLine( "Hello World" );
|]
但是我在代碼的第三行中收到錯誤消息“ Unknown Identifer:' text '”。
您收到的錯誤很可能與從中調用宏的代碼中缺少導入有關。
例如,如果您的宏位於名為foo的命名空間中,則需要添加
import foo
在調用代碼的頂部。
解決此編譯器問題后,您可能會遇到的第二個問題是錯誤
“未知標識符“塊”(BCE0005)
要解決此問題, .Body
在准引用部分之后添加.Body
,如下所示:
import Boo.Lang.Compiler.Ast
macro text:
macro subMacro:
text["Text"] = "Hello world"
return [|
block:
System.Console.WriteLine("Hello World");
|].Body
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.