如何解决删除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运行时视为通用对象的含义。
, 您可以声明一个as对象
作为对象
a = \“ letter_a \”
打印一个
\“字母\\”
a = 1
打印一个
1个
我比Python更喜欢boo!
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。