![](https://img-blog.csdnimg.cn/20200201182922940.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
耍耍 Io 语言
Io language
CPJLJ
我承认这个递归我有赌的成分
展开
-
协程
vizzini := Object clonevizzini talk := method( "Fezzik, are there tocks ahead?" println yield // 自动挂起当前进程, 并把控制权转到另一进程当中 "No more rhymes now, I mean it." println ...原创 2020-02-01 21:09:06 · 117 阅读 · 0 评论 -
Io的method_mission
当你把消息发送给对象的时候,对象将完成下列事情:1.计算所有参数,这些参数其实就是消息;2.获取消息的名称,目标和发送者;3.尝试用目标上的消息名称读取槽;3.如果槽存在,返回其数据或触发其包含的方法;4.如果槽不存在,则把消息转发给它的方法。用Io代码来表示XML数据即将 <body> <p> This is a simple par...原创 2020-02-01 18:57:25 · 185 阅读 · 0 评论 -
DSL
// 电话号码的形式 -- 在文件phonebook.txt中{ "Bob Smith" : "5195551212", "Mary Walsh" : "4162223434"}// 把列表代碼解釋為Io散列表的形式OperatorTable addAssignOperator(":", "atPutNumber")curlyBrackets := method( //...原创 2020-02-01 18:24:27 · 194 阅读 · 0 评论 -
计算列表所有数字的平均值
List myAverage := method( if(self isNotEmpty, testType(self), 0) )testType := method( list, if(list select(type == "Number") == list, list average, Exception raise( "Exception...原创 2020-02-01 15:03:19 · 3397 阅读 · 0 评论 -
求和二维数组
这家伙连局部作用域都没有,摸索了好久不过Io这个基于原型的语言,确实在了解Io之后,我对JavaScript运行机制的理解多了一点我一开始的代码y := 0sumArr := method( Arr, if(Arr at(0) type == "List", sumArrsub(Arr), Arr sum) )sumArrsub := method( ...原创 2020-02-01 12:17:38 · 437 阅读 · 0 评论 -
分母为零处理(待解决)
这个,我是真不会Number / := method(denominator, if(denominator == 0, 0, Number / denominator))我的遇到的问题有两个:后面的Number是0,不是前面的那个number我这个代码已经变成了递归,没有基准条件,因此是个死循环...原创 2020-02-01 10:03:08 · 4083 阅读 · 0 评论 -
迭代/递归 Io语言写个斐波拉契
**初次用Io写斐波拉契搞了我一下午,我 TM 终于知道Io的“消息"怎么用的了Io文档什么都没讲,气!先上js代码:// 迭代function fib0(n){ var first = 1; second = 1; third = first + second, count = 3; if(n < 2)...原创 2020-01-31 16:26:17 · 146 阅读 · 0 评论