Io Language没有关键字,所以它的语法很简单:
// 赋值
a := "hello world"
// 取值
a
// 方法调用:
a println
// 方法调用2:
a split(" ")
// 方法调用3:
a slice(1, 3)
// 方法调用在Io里面叫作message,和Ada, Ruby, Objective-C这类语言相似
// 操作符:
1 + 1
// 操作符本身也是函数:
1 + 1 // 等价于 1 getSlot("+")(1),函数不能像操作符这么使用
// \n 和 ; 作用是一样的,都可以分割语句
// 字符串语法:
quote ::= MonoQuote | TriQuote
MonoQuote ::= """ [ "\"" | not(""")] """
TriQuote ::= """"" [ not(""""")] """""
// 注释:
# 单行注释
// 单行注释
/* 多行注释 */
// 数字:
a := 0x10
a := 1.2e10
// 创建对象:
a := Object clone
lst := List clone
// 创建类(实际上是原型扩展,clone原型并扩展):
Person := Object clone do(
name := nil
age := 1
sayhi := method(
"hi" println
)
)
// 或者不用指定成员了
Person := Object clone
// 创建实例(也是原型扩展)
a := Person clone
me := Person clone do(
name := 'xxx'
age := 0
)
// 函数编程:
fib := method(n,
if(n < 2,
1,
fib(n-1) + fib(n-2)
)
)
fib(5)
就这些东西了,所有东西都在这上面扩展的,比如if/else/for/foreach/while/loop,这和LISP有些相似。
简单程序:
// 创建List:
people := list(
Person clone do(name := "aaa"; age := 19),
Person clone do(name := "bbb"; age := 20),
Person clone do(name := "ccc"; age := 21),
Person clone do(name := "ddd"; age := 22)
)
// map:
people map(person, person name)
// 或简单写为:
people map(name)
// select:
people select(person, person age < 21)
// 或简写为:
people select(age < 21)
分享到:
相关推荐
- 变量与数据类型:C#支持多种数据类型,包括基本类型(如int、float、bool)和引用类型(如类、接口)。理解变量的声明、初始化和作用域至关重要。 - 控制流语句:包括条件语句(if、switch)、循环语句(for、...
《Profinet GSD Checker: 为PN-IO设备的GSD文件XML语法把关》 在工业自动化领域,Profinet(Process Field Network)是一种基于以太网的通信标准,广泛应用于工厂自动化中的分布式I/O(Input/Output)设备。在开发...
这个语法包由 prestonknopp 开发并维护,它在 atom.io 上发布,便于广大开发者下载和使用。 Atom 是一款由 GitHub 开发的开源文本编辑器,它的独特之处在于使用了 Web 技术(如 HTML、CSS 和 JavaScript)进行构建...
【hotsse.github.io:...如果使用了Jekyll,那么可以了解Markdown语法、变量、布局和插件在静态站点生成器中的应用。总的来说,这个项目为学习和实践Web开发,特别是HTML基础提供了一个实用的实例。
在Android开发中,IO(Input/Output)和XML(eXtensible Markup Language)是两个非常重要的概念。本文将深入探讨这两个主题,尤其对于初学者来说,了解它们的基础知识至关重要。 首先,我们来讨论IO。在计算机科学...
【Atom-language-todotxt】是为Atom文本编辑器设计的一款插件,专门用于增强对`todo.txt`文件的语法高亮和实用功能。这款插件由atom.io社区开发,目的是提升开发者和用户在处理`todo.txt`任务管理格式时的工作效率和...
<%@ page language="Java" extends="HttpServlet" import="java.io.*, java.util.Date" session="true" buffer="16kb" %> ``` 这里,`language`指定了JSP使用Java作为编程语言,`extends`指定了Servlet的超类,`...
这个“c#基础知识库 基本语法等源码”压缩包包含了C#语言的基础控件使用和语法实践,是初学者入门和进阶的重要资源。下面,我们将详细探讨C#的一些核心知识点。 1. **基本语法**:C#的语法结构类似于C++和Java,...
HTML(HyperText Markup Language)是构建网页的基本语言,用于定义网页内容的结构和意义。在microconfig.io-site的源代码中,可以看到HTML元素的使用,如`<head>`、`<body>`、`<header>`、`<nav>`、`<section>`、`...
atom.io的GDScript(Godot脚本语言)语法。 产品特点 突出显示gd,tres,tscn和project.godot文件的语法。 Godot(v3.2 +)提供的GDScript自动完成功能 集成 添加数据提示,诊断和超点击支持。 依存关系 node- gyp...
为了构建并运行这个网站,开发人员可能会使用现代前端工具链,如Webpack、Gulp或Grunt进行模块打包,Babel进行JavaScript语法转换,以及PostCSS处理CSS预处理器。此外,可能还利用了Git进行版本控制,GitHub Pages...
C#是一种广泛应用于开发Windows应用程序、Web应用以及游戏的编程语言,由微软公司推出,它在.NET...以上只是C#语法基础的冰山一角,深入学习还需结合实际项目实践。希望这份C#语法全解能为初学者提供一个良好的起点。
5. Markdown语法: 文件列表中可能包含`.md`文件,这是Markdown格式的文本文件。Markdown是一种轻量级的标记语言,用于编写易读易写的纯文本格式,然后可以转换成HTML。学习Markdown可以简化内容创作过程,提高效率...
V-Vincen.github.io 是一个个人博客网站,其源代码托管在GitHub上,可以通过访问 <https://...总的来说,V-Vincen.github.io 的源代码是一个很好的学习资源,可以帮助我们深入了解静态站点生成器和GitHub Pages的使用。
7. **Markdown**:GitHub Pages通常结合Markdown编写内容,这是一种轻量级的标记语言,语法简洁,易于阅读和编写。Markdown支持标题、列表、代码块、链接等,可以方便地转换为HTML。 8. **版本控制**:使用GitHub...
1. **基本语法结构**:VB.NET的代码结构基于C-like语法,包括变量声明、数据类型(如Integer、Double、String等)、流程控制(如If...Then...Else、For...Next、While...End While等)和函数调用。 2. **对象和类**...
语言io包Atom 的 Io 语言支持。 向 Atom 中的 Io 文件添加语法突出显示和片段从 Atom 包安装从 Atom 包中搜索“io”安装手册cd ~/.atom/packages git 克隆 版权所有 (c) 2014
Emacs-Languagetool是Emacs的一个插件,它集成了Languagetool这一开源的语法和拼写检查工具。这个插件极大地增强了Emacs在编写文档和代码时的错误检测能力,帮助用户提升文本质量。 Languagetool是由Jörg ...
语法: .eml , .msg , .mbx和.mbox文件的。 片段: 。 HTML电子邮件模板。 。 附件电子邮件模板。 命令: 。 。 。 键映射(快捷方式): ctrl-alt-1用于电子邮件预览。 ctrl-alt-2用于带引号的可...
Atom 中的 Drupal 支持 语法高亮显示和 Atom 片段。 安装 文件 -> 首选项... 点击套餐 搜索“语言 Drupal” 点击安装 来源 历史 执照 在极其许可下 版权所有 :copyright: 2014+ Rob Loach ( )