笔记之Io
来源:互联网 发布:java标准字符串转日期 编辑:程序博客网 时间:2024/06/07 09:17
Io
简介:
开场:
对象的制造是复制已有的对象(Io>Vehicle :=Object clone)//这是基于Object对象创造新对象
每个对象多有一组槽(类似于对象的各个属性或方法) (有type这个原型类型,还有各种的方法等;使用slotname 方法可以返回对象的槽类表。
Io是通过发送消息来获取槽的值。
对象、原型、继承::
对象会记住它的原型(在type槽);
槽可以包含对象(包括方法和对象)(方法:method(。。。))
消息返回槽中值,或调用槽中的方法;
如果对象无法响应某消息,则它会把该消息发送给自己的原型;
列表和映射:
条件和循环::
Io的循环是像方法一样调用的;而if控制结构是以函数的形式实现的,(形如:if(condition,true code,false code,);
循环:无限循环:loop(“getting 天才“ println)
while循环:while(i<11, i println; i=i+1);
for循环:for(i,1,11,2,i println)://循环1~11,递增2
(在Io中”;”是可以用来连接前后连个语句的,在循环中直接用)(好像这个有点多余,不过还是写上去下下)
运算符:Io可以自定义一些运算符,可以调用OperatorTable来查看运算表。
消息与反射:
给个小的代码,关于反射的:
Object ancestors := method( prototype := self proto if(prototype !=Object, writeln("Slots of",prototype type,"\n--------") prototype slotNames foreach(slotNmae,writeln(slotName)) writeln prototype ancestors))/**代码的结果是输出消息发送者的各个原型和原型的原型,直到Object**/
领域特定语言:Io是很开放的,完全可以从定义任何对象和任何槽;这里就不加以说明了;
Io的method_missing:
并发:!!
Io总结:
Io是原型语言,具有良好的可塑性,可以改变任意对象的任意槽。可以哦使用它创建出你想要的语法。
占用空间小:大多是Io应用程序的产品都是嵌入式系统。语言的个头小但功能强大且灵活,Io的虚拟机也易于移植到不同的操作系统环境中;
简单:Io的语法极为简洁,不过学会核心后,重要的是库是如何组织的;
灵活:很开放,能改变任何对象的任何槽,这可以快速创建出自己想要的语法;
并发!!:actor、future和协程使得Io编写多线程应用程序比较容易,而且写出来的程序易于测试且拥有更出色的性能;
语法:没什么语法糖,使得Io清晰易懂,但语法常常使得Io难以用简短的方式表达艰深的概念;就是说,会很容易明白某个程序如何用Io写出来,但很难明白某个程序到底做了什么。
社区:它的社区很小;
性能:在单线程上有其执行速度的特性,不过Io的并发结构可得到一定程度的缓解,但Io在性能上的这种局限性;
- 笔记之Io
- java笔记之IO流
- Java学习笔记之IO
- javaSE学习笔记之IO
- JAVA笔记之IO流
- JavaSE学习笔记之IO
- APUE笔记之文件IO
- 驱动编程学习笔记之IO处理
- Linux+C学习笔记之IO编程
- java笔记 IO流之字符流
- 驱动编程学习笔记之IO处理
- java学习笔记之IO流
- 学习之Java IO的笔记
- java自学笔记之IO流
- 黑马程序员---java学习笔记之IO
- (7)Java笔记7之IO
- 黑马程序员 java笔记之 IO流
- Java基本笔记之IO操作
- Java 内部类与静态类
- 屏幕旋转
- javascript数据类型转换 []+{} 和 {}+[]
- c++中引用
- JAVA面向对象知识点总结(4)— 单例设计模式:饿汉式、懒汉式
- 笔记之Io
- No result defined for action and result input
- Rose2003安装 - Windows XP经典软件系列
- 基础语法知识记录
- eclipse+spket+Extjs4.2.1开发环境搭建
- DIY个照相机-Delphi实现摄像头拍照功能
- 黑马程序员-Java中设置Path、classpath的作用及实例
- Binary search and its variation
- 第7周作业1——背包问题。