我正试图在七天七语中的第二天完成第二次练习.在你的问题中,"如果分母为零,你会如何改变/返回0?"我已经确定我可以使用以下方法向Number添加方法:
Number new_div := method(i, if(i != 0, self / i, 0))
Run Code Online (Sandbox Code Playgroud)
我不确定如何替换运算符表中的"/".我试过了:
Number / := Number new_div
Number / := self new_div
Run Code Online (Sandbox Code Playgroud)
但是当我试图调用"/"时,我得到两个例外.如何处理Number /所以我可以存储对旧方法的引用,然后为自己的目的重新定义它?我错了吗?
在Io语言中,有两种创建槽的方法:newSlot和setSlot.两者似乎都有类似的行为,除了newSlot也创建了一个setter.有什么情况需要在创建插槽的同时创建一个setter?无论如何,塞特的目的究竟是什么?
我最近对基于原型的OOP感兴趣,而且我一直在玩Io和Ioke.使用Ioke分发应用程序很简单.它在JVM上.需要我多说?但是,我对如何分发Io应用程序感到非常难过,特别是在Windows上.这不像你可以让最终用户编译Io来运行你的应用程序.
我真的很震惊,Io已经走了8年没有为分销这样的事情制定某种标准.Ruby有宝石,Java有jar,等等.
更糟糕的是,我找不到用Io编写的单个应用程序,可能会窃取有关分发的想法.也许我吮吸谷歌搜索(顺便说一句,Io是一个可怕的搜索名称; P).
是否有任何规范的方式来分发Io应用程序?是否存在任何Io应用程序,或者我只是忽略了这一点?
我不确定这是否应该是社区维基.如果您认为应该,请评论并告诉我.
我正试图在Io中定义自己的运算符,而且我很难过.我有一个对象:
MyObject := Object clone do(
lst := list()
!! := method(n, lst at(n))
)
Run Code Online (Sandbox Code Playgroud)
但是当我打电话给它时,像这样:
x := MyObject clone do(lst appendSeq(list(1, 2, 3)))
x !! 2
Run Code Online (Sandbox Code Playgroud)
但我得到一个例外,参数0到at必须不是nil.我该怎么办?
Io是一个很好的跨平台基于原型的面向对象语言.
有没有人知道Io的任何GUI库?
Io的名字并不能让Google友好.
我读过Io语言Futures
可以自动检测死锁.我对此一无所知,并且看到了一些语法.Io语言如何检测死锁?
例如,我想"hello"
变成list(104, 101, 108, 108, 111)
或list("h", "e", "l", "l", "o")
到目前为止,我已经创建了一个空列表,自己使用foreach
并将每个项目附加到列表中,但这并不是一个简洁的方法.
具体来说,我正在尝试使用随机插件.文档说明插件应该在第一次使用时加载,这也是Hyperpolyglot支持 但是,我得到(运行其中一个示例程序)
Exception: Object does not respond to 'Random'
---------
Object Random Cards.io 4
Run Code Online (Sandbox Code Playgroud) 有没有人知道MVC框架或任何框架是一个很好的开始使用Io(编程语言).
iolanguage ×10
operators ×2
concurrency ×1
deadlock ×1
frameworks ×1
import ×1
list ×1
oop ×1
sequence ×1
string ×1
terminology ×1