.net – 删除boo中的变量

我知道boo和Python之间的相似之处只是肤浅的,但是,我怎样才能在boo中执行以下Python代码?

a = 'a'
del a
a = 1

我试过了

a = 'a'
a = null
System.GC.Collect()                                                                                                                                                    
System.GC.WaitForPendingFinalizers()
a = 1

但是booish告诉我它不能将’int’转换为’string’.

关键是不要使用鸭子类型.那可能吗?

编辑:根据评论建议,将del从函数更改为语句.

解决方法:

这在Boo中是不可能的. Boo使用隐式静态类型.因此,所有变量都是基于其范围内的第一个赋值而强类型化的.分配后,变量的类型不能更改.

垃圾收集将确保堆中不再引用的对象将从堆中删除,但它对每个语言的单个变量作用域没有影响.在Boo中,变量不会超出范围,直到定义它的块结束.

在Boo中输入鸭子是由编译器处理的,编译器为其分配静态类型的“对象”,然后使用运行时代码来实现底层.NET运行时认为是通用对象的困境.

上一篇:Spring Boo数据访问JDBC


下一篇:【转】在Unity中读写文件数据:LitJSON快速教程