Io Language

弱类型动态语言
授权协议 BSD
开发语言 C/C++
所属分类 程序开发、 脚本编程语言
软件类型 开源软件
地区 不详
投 递 者 魏烨熠
操作系统 Linux
开源组织
适用人群 未知
 软件概览

Io语言是一门简单小巧采用原型编程范式的弱类型动态语言。虚拟机只有10K左右。初次遇见Io,你一定会惊叹于它的简洁。从Io官网就可以看出来,作者Steve Dekorte是个极度崇尚简洁的人。

io作为一门原型语言,其对象关系模型也十分清晰。使用protos就可以查看某一个对象(需要为带有type槽的对象)的原型列表。某一个对象在收到消息时会查找自己的是否含有相应的消息槽,如果有就直接响应,如果没有就在它的原型列表上依次查找,以此类推。也可以通过appendProto(anObject)把anObject放入对象的原型列表中。

示例代码:

Io> for(i, 1, 10, write(i, " "))
1 2 3 4 5 6 7 8 9 10 

Io> d foreach(i, v, writeln(i, ": ", v))
0: 5
1: 123
3: 20

Io> list("abc", "def", "ghi") foreach(println)
abc
def
ghi
  • 用Io的时候,不必既操心类又操心对象。只需要和对象打交道,必要的时候把对象复制一下就行。这些被复制的对象就叫做原型。 在原型语言中,每个对象都不是类的复制品,而是一个实实在在的对象。此外Io还能无限接近面向对象的Lisp(我最爱的一个语言)。 在其他语言中,可对某个类调用new创建一个信对象。通过定义类,可以创建一个新的对象种类。 但是对于Io,它不区分类和对象。可以通过复制现有对象创建新的对象。

  • Io Tutorial     Math   Io> 1+1 ==> 2 Io> 2 sin ==> 0.909297 Io> 2 sqrt ==> 1.414214   Variables   Io> a := 1 ==> 1 Io> a ==> 1 Io> b := 2 * 3 ==> 6 Io> a + b ==> 7   Conditions   Io> a := 2 Io>

  • http://iolanguage.com/   overview Io is a prototype-based programming language inspired by Smalltalk (all values are objects, all messages are dynamic), Self (prototype-based), NewtonScript (different

  • CheckiO 是面向初学者和高级程序员的编码游戏,使用 Python 和 JavaScript 解决棘手的挑战和有趣的任务,从而提高你的编码技能,本博客主要记录自己用 Python 在闯关时的做题思路和实现代码,同时也学习学习其他大神写的代码。 CheckiO 官网:https://checkio.org/ 我的 CheckiO 主页:https://py.checkio.org/user/TR

  • Io Language是一种Prototype-Based Language,像JavaScript一样(其它类似的语言我不清楚),这也是个常见的词,JavaScript也非常流行,所以不用再详细解释这个概念了,主要说一下它的库扩展能力,玩过JavaScript/Ruby的对这个特性应该是很喜欢了。 举个小例子说一下这种模型的好处。 Io Language的Object有一个wait方法,它的实现

  • 1.安装io解释器 从http://iolanguage.org/下载binaries,解压后运行.exe 运行io.exe,发现缺少libgcc_s_dw2-1.dll,google之,从http://www.dll-files.com/dllindex/dll-files.shtml?libgcc_s_dw2-1 找到下载,放到和io.exe一个文件夹下,之后就顺利运行Io解释器了。 2.从文

  • Io语言快餐(1) - 一切皆是对象,消息和槽的语言 Io是一种基于原型的语言。Io语法只不过是把消息全部串联起来,每条消息都会返回一个对象,每条消息也都带有置于括号内的可选参数。 在Io中,万事万物皆消息,且每条消息都会返回另一接收消息的对象。 Io语言没有关键字,有的只是少量在行为上接近于关键字的字符。 Io的官方网站是:http://iolanguage.org/ 源代码地址在:https:

 相关资料
  • 本文向大家介绍动态语言、动态类型语言、静态类型语言、强类型语言、弱类型语言介绍,包括了动态语言、动态类型语言、静态类型语言、强类型语言、弱类型语言介绍的使用技巧和注意事项,需要的朋友参考一下 关于如题这几个概念,大部分人应该比较熟悉,但是我昏了好久,所以写下来加深印象。 1. 动态语言 又叫动态编程语言,是指程序在运行时可以改变其结构:新的函数可以被引进,已有的函数可以被删除等在结构上的变化。比如

  • 本文向大家介绍Python动态语言与鸭子类型详解,包括了Python动态语言与鸭子类型详解的使用技巧和注意事项,需要的朋友参考一下 今天来说说编程语言中的动态类型语言与鸭子类型。 动态语言 维基百科对动态语言的定义: 动态编程语言是一类在运行时可以改变其结构的语言:例如新的函数、对象、甚至代码可以被引进,已有的函数可以被删除或是其他结构上的变化。动态语言目前非常具有活力如PHP、Ruby、Pyth

  • 一个机器或语言是用来计算的,根据计算机模型的定义,其操作的是存储器里的数据,就现在流行的用二进制实现的计算机中(曾出现过三进制计算机),数据本质都是0和1,但机器毕竟是为人服务的,解决的是现实问题,它操作的数据需要有现实的含义,所以基本上所有语言都有类型系统,即便是汇编和机器语言,也有整数和浮点的区别 类型系统是很复杂的理论,值得用一本厚书来写,好点的资料有《类型与程序设计语言》,但我没看懂,因为

  • 1.3 弱类型强作用域 “弱类型”不是 VimL 的特点,是几乎所有脚本语言的特点。准确地说是变量无类型,但值 有类型。创建变量时不必定义类型,直接赋值就行,也可以认为是变量临时获得了值的类 型。关于 VimL 的变量与类型,将在下一章的基础语法中详解。 变量作用域是编程的另一个重要概念,也几乎每个语言都要管理的任务。这里说 VimL 具 有“强作用域”的特点,是指它提供了一种简明的语法,让用户强

  • 这是显示类型列表动态不是类型映射字符串动态的子类型“现在当我运行模拟器时,显示”类型列表动态不是类型映射字符串动态的子类型“在我的模拟器上,我如何修复它? 现在我想创建关于查找api id的程序,从我的模拟器中使用文本字段和按钮,当我把一些数字和单击按钮时,会显示该ID的数据或标题,但我只是初学者,所以如果有人认为我的代码是正确的或不正确的或者你有推荐请告诉我 My JSON JSON代码 应用程

  • 本文向大家介绍Dapper.NET 查询动态类型,包括了Dapper.NET 查询动态类型的使用技巧和注意事项,需要的朋友参考一下 示例 如果不使用泛型类型,也可以动态查询。            

  • 2.1.3 Python 的动态类型* 如果将计算机内存单元比喻成宾馆的房间,那么编程语言中的变量可以理解成这些房间的“门牌标识”。将一个数据存入变量,实际上是存入该变量所标识的内存单元;而访问一 个变量,当然就是访问该变量所标识的内存单元中的数据。 绝大多数编程语言中对变量的使用有严格的类型限制,一个变量固定作为某内存单元的 标识,并且该单元只能存储特定类型的数据。这就好比宾馆的房间分为客房、员

  • 我想在Java中通过反射调用一个方法。 我手边有我要调用的方法的Method实例(这样我就可以获得它的参数的类型),此外,我还有这些参数的值作为字符串。 我有一个假设,所有的参数都必须是原语。 例如,如果我要调用以下方法: