Seven Languages in Seven Weeks

Seven Languages in Seven Weeks

Steve Tsang

七门语言的小项目指南

第一章 简介

本书的七门语言:

Ruby/Lo/Prolog/Scala/Erlang/Clojure/Hasekell

这一章中,作者着重介绍了他对于本书一个定位。你可以把这一章理解为一个声明,声明作者的意图,对于语言的看法,谁应该买这本书,谁不应该买这本书以及作者的赠言:享受编程。

第二点特殊强调一下,作者**关于语言的看法**(问题):

  1. 语言的类型模型是什么?强类型(Java)/弱类型(C语言)/动态类型(Ruby)
  2. 语言的编程范型是什么?面向对象(object-oriented)/函数式/过程式/综合体
  3. 怎样和语言交互?编译/解释;虚拟机有无;交互命令行/文件编程
  4. 语言的判断结构和核心数据结构是什么?if和while的各种变型;“理解集合”
  5. 哪些核心特性让这门语言与众不同?

注意:

1. 不是安装指南:操作和安装有简明的指导,但却不会兼顾所有版本细节

2. 不是编程参考:本书不是参考大全,目的在于体验每门语言的真是范例,亲眼见识它们的程序代码,尽可能编译并正常运行/借助各门语言的支持社区

3. 严格督促:每周的小型编程挑战和实战项目/独立解答习题

2017-11-05

第二章 Ruby

Ruby作者:松本行弘(Yukihiro Matsumoto), 即Matz

Ruby: 解释型(由解释器而非编译器执行)、纯面向对象(支持封装、类继承)、动态类型(类型再运行时而非编译时绑定)的语言

Properties: ['object oriented', 'duck typed', 'productive', 'fun']

概念笔记

“一切皆为对象”

一等对象:

  • 可存储于变量或数据结构中
  • 可作为参数传递给函数
  • 可作为返回值从函数返回

如:C++中的对象/函数式语言中的函数

条件句if的实现:

块形式:

ruby

if condition 

  statemenets

end

单行形式:statements if condition / order.calculate tax unless order.nil

while的实现:

  • 单行形式: x = x + 1 while x < 10 
  • 块形式:

ruby

  while x < 10 

    x = x + 1 

    puts x 

  end

Ruby中,0也是true. 只有`nil`和`false`代表false

逻辑表达式的短路求值( and or && || )和正常求值( & | )

未完待续


See More-->

Hyoka

Back to Blogs-->




Report Page