易截截图软件、单文件、免安装、纯绿色、仅160KB

设计模式 观察者模式实现例子(ruby)

ruby中自带实现观察者模式的类observer。可以利用它来实现观察者模式。
代码例子:
# -*- coding: GB2312 -*-
require 'observer'
# 观察者模式(ruby)的使用例子
# 被观察者P
class PObservable
include Observable
end
# 观察者A
class AObserver
# update方法名是必须的要有的
def update(arg)
puts "AObserver 被通知了 " + arg
end
end
# 观察者B
class BObserver
# update方法名是必须的要有的
def update(arg)
puts "BObserver 被通知了 " + arg
end
end
# 观察者初始化
observer_a = AObserver.new
observer_b = BObserver.new
# 被观察者初始化
obj = PObservable.new
# 添加监视对象
obj.add_observer(observer_a)
obj.add_observer(observer_b)
# 被观察者改变了 ->这段代码 必须有 不然无法通知到观察者
obj.changed
# 通知观察者
obj.notify_observers("Test")

输出结果:
AObserver 被通知了 Test
BObserver 被通知了 Test


相关文档:

ruby on rails(10) 处理订单

订单处置,首先要有一个订单的详细列表(包括数量,价钱啥的)和一个对于个人的一些信息的一个表。因而我们创造两个模型,line_item(列表项),order(列表),其后编者如次
/db/migrate xxx_create_order xxx_line_item
Ruby代码
一.class CreateOrders < ActiveRecord::Migration
二.def self.up
3. create_tabl ......

ruby安装mysql

ruby on rails安装mysql数据库
1. 下载mysql软件
  http://www.mysql.cn/
  mysql中文官方网站下载安装软件,选择5.0
2. 安装mysql,设置默认字符集为utf-8
3. 下载mysql for ruby的驱动并安装
http://rubyforge.org/搜索mysql,找到mysql -win
点击下载,进入页面
http://rubyforge.org/frs/?group_id= ......

rails on ruby exmaples depot

1.install ruby
    download from http://www.ruby-lang.org/en/news/2009/12/07/ruby-1-9-1-p376-is-released/
2.install rails
   ruby gem install rails --include-dependencies
3.install mysql
   download from http://sourceforge.net
   ruby gem install&nb ......

Ruby Shoes 的鼠标事件

因为一次偶然的机会接触了Ruby语言。然后下载了Ruby Shoes工具。
发现Ruby还是蛮有趣的。
花了一段时间熟悉了它的语法。
下面来试试它的鼠标功能。
Shoes.app do
  #图片初始化
  @img = image "http://www.google.cn/intl/zh-CN/images/logo_cn.gif"
  #图片关于鼠标的调用
 & ......

ruby 线程的性能测试

在使用中ruby的过程中难免会遇到提高性能的问题,由此便想起了ruby线程。但是我在使用中却发现ruby的线程却不能提高性能。我写了以下代码,做了些简单测试。
代码
# -*- coding: GB2312 -*-
require 'date'
# 使用线程,线程的处理代码里没有sleep
def have_thread_no_sleep
p Time.now
thread1 = Thread.new do
......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号