阅读 七周七语言

看介绍很吸引我。 记下一词: 享受编程


ruby

没有环境在网上找了一个  http://codepad.org, 支持很多语言。 

  1.  解释型语言
  2.  纯面向对象语言. 一切皆对象, 数字是 Fixnum
  3.  强类型语言。运行时检查类型。动态语言 (可以在运行过程中,变换类型) 
    1. 面向接口编程,而不是面向实现。 
    2. 动态语言 。 有pop,push 的方法的,就可以当做“栈”用。(言外之意  静态语言只有栈和子类可以做栈用? )
语言中的基本要素
1函数: (也是一种对象)
def print_hello
    puts "hello ruby"
end

print_hello
puts print_hello 

=== output 
hello ruby
hello ruby
nil

数组。 [-2], [0..1] 
[1,2,3]
散列
代码块
def call_block(&block)
    block.call
end

def pass_block(&block)
    call_block(&block)
end

pass_block {puts "xxxxxxx "}

class Tree
    attr_accessor :children, :node_name

    def initialize(name, children=[])
        @children=children
        @node_name=name
    end

    def visit_all(&block)
        visit &block
        children.each {|c| c.visit &block}
    end

    def visit(&block)
        block.call self
    end
end
    
ruby_tree = Tree.new("ruby", 
    [Tree.new("first"), Tree.new("second")])

puts "visiting a node"
ruby_tree.visit {|node| puts node.node_name}

puts "visiting a tree"
ruby_tree.visit_all {|node| puts node.node_name}

======
visiting a node
ruby
visiting a tree
ruby
first
second



课后练习
s = "hello world"
s.gsub(/world/, "ruby")
puts s 


说实话, 这本说看下来, 不容易。 我会告诉你, 7种语言一种多没有学过吗。 最近在看 haskell。 



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值