七周七语言之IO语言代码学习

来源:互联网 发布:php二维数组 编辑:程序博客网 时间:2024/04/30 16:00
<img src="http://img.blog.csdn.net/20141231234020119?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvaHVvcG8xMjU=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="" />
# hello.io"Hello World!" print# 实现unless功能# doMessage相当于一些语言中的evalunless := method(    (call sender doMessage(call message argAt(0))) ifFalse(call sender doMessage(call message argAt(1))) ifTrue(call sender doMessage(call message argAt(2))))unless(1 == 2, write("One is not two\n"), write("one is two\n"))#协成vizzini := Object clonevizzini talk := method(    "Fezzik, are there rocks ahead?" println    yield    "No more rhymes now, I mean it." println    yield)vizzini @@talk; fezzik @@rhymeCoroutine currentCoroutine pause# actor并发# Io的动人之处,发送异步消息给任意对象就是actorslower := Object clonefaster := Object cloneslower start := method(wait(2); writeln("slowly"))faster start := method(wait(1); writeln("quickly"))slower @@start; faster @@start; wait(3)

优势:
1.占用空间:占用空间小。大多数Io应用程序的产品都是嵌入式系统。
2.简单:语法简洁,容易学习。
3.灵活:Io的鸭子类型和自由度,能让你在任何时间改变任何对象的任何槽。
4.并发:提供了actor、future和协程使得Io编写多线程应用程序要容易的多。
不足:
1.语法:几乎没有什么语法糖。编码量大时,容易使得代码不易读。
2.社区:社区规模非常小。
3.性能:对于单线程服务的程序来说,Io有不少能拖慢其执行速度的特性。
0 0
原创粉丝点击