首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >删除boo中的变量

删除boo中的变量
EN

Stack Overflow用户
提问于 2011-06-06 20:48:43
回答 2查看 266关注 0票数 4

我知道boo和Python之间的相似之处只是表面的,但我如何在boo中执行以下Python代码呢?

代码语言:javascript
复制
a = 'a'
del a
a = 1

我试过了

代码语言:javascript
复制
a = 'a'
a = null
System.GC.Collect()                                                                                                                                                    
System.GC.WaitForPendingFinalizers()
a = 1

但是booish告诉我它不能把'int‘转换成'string’。

重点是不要使用鸭子类型。这有可能吗?

编辑:根据评论建议,将del从一个函数改为一个语句。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-06-07 13:11:00

这在Boo中是不可能的。Boo使用隐式静态类型。因此,所有变量都是根据其范围内的第一次赋值强类型的。一旦赋值,变量的类型就不能更改。

垃圾收集将确保不再引用的堆上的对象将从堆中移除,但对每种语言的单个变量作用域没有影响。在Boo中,在定义变量的块结束之前,变量不会超出作用域。

Boo中的鸭子类型由编译器处理,编译器为其分配静态类型的" object“,然后使用运行时代码来影响底层.NET运行时所认为的泛型对象。

票数 3
EN

Stack Overflow用户

发布于 2011-07-18 15:28:02

可以声明为对象。

a作为对象a= "letter_a“

打印“字母a”

A=1打印a 1

比起蟒蛇,我更喜欢嘘声!

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6257867

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档