易截截图软件、单文件、免安装、纯绿色、仅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


相关文档:

win环境下本地安装ruby on rails

过程如下:
1、ruby下载一键安装:
http://rubyforge.org/frs/download.php/29263/ruby186-26.exe
ruby -v 显示版本,安装成功
2、下载rubygems安装:
http://rubyforge.org/frs/download.php/60719/rubygems-1.3.5.zip
解压,ruby setup.rb
gem -v  显示版本,安装成功
3、下载rails的 gem 安装(gem install ......

c++中调用ruby代码

#include < ruby.h > //
static int id_sum;
int Values[] = {5, 10 ,15,-1,20,0};
static VALUE wrap_sum(VALUE args)
{
 VALUE * values = (VALUE *) args;
 VALUE summer = values[0]; 
 VALUE max = values[1];
 return rb_funcall(summer,id_sum,1,max);
}
static VALUE ......

ruby drb

client.rb
======================================================================
require 'drb'
SERVER_IP = 'druby://127.0.0.1:6666'
CLIENT_IP = 'druby://10.10.10.102:7777'
c_path = 'd:/test/'
class Client
 def initialize(path)
  Dir.chdir(path)
 end
 
 def mk ......

Ruby 1.9不会杀死Python

      松本行宏如约于圣诞节发布了Ruby 1.9。根据Ruby的惯例,小数点后面第一位如果是单数,那么就表明这是一个实验版本,不推荐用于产品环境。所谓“产品环境”,对于目前的Ruby来说,基本上就是Ruby on Rails。从目前RoR社群的反映来看,确实有人正在尝试用Ruby 1.9配合RoR,但是尚属 ......

自动化测试之路(一) ruby初探

从今天起不再浪费时间,开始走向自动化测试这条光明的道路,并以搭建一个自动化测试平台为目标,并这个过程一点点的记录下来和大家分享
首先,是ruby环境的搭建
(1)到ruby的官网:http://www.ruby-lang.org/en/下载 ruby安装程序;
      PS :选择 ruby on windows,我下载的是Ruby 1.8.6 One ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号