一个简单的Fibonacci类的封装

class Fibonacci
def initialize
rewind
end

def next
tmp = @v0
@v0,@v1=@v1,@v0+@v1
tmp
end

def rewind
@v0,@v1=1,1
end
end

 

使用的例子,将前1000个Fibonacci数写入文件:

 

fib = Fibonacci.new
File.open("see.txt","w"){|f|
1000.times {|x|f.puts "%d : %d"%[x,fib.next]}}

时间: 2024-07-28 17:20:36

一个简单的Fibonacci类的封装的相关文章

介绍一个简单的JavaScript类框架

  这篇文章主要介绍了一个简单的JavaScript类框架,有助于初学者理解JS类的创建与继承,需要的朋友可以参考下 在写work-in-progress JavaScript book一书时,对于javascript继承体系,我花费了相当的时间,并在该过程中研究了各种不同的模拟经典类继承的方案.这些技术方案中,我最为推崇的是base2与Prototype的实现. 从这些方案中,应该能提炼出一个具有其思想内涵的框架,该框架须具有简单.可重用.易于理解并无依赖等特点,其中简单性与可用性是重点.以下

【4】实现一个简单的String类

题目:给定一个String类的类声明,要求实现类的函数体 类声明如下 class String{ public: String(const char *str = NULL); String(const String &another); ~String(void); String& operator=(const String &rhs); char* Get(void)const; private: char *m_data; }; 类的实现如下 //实现简单的String类

介绍一个简单的JavaScript类框架_基础知识

 在写work-in-progress JavaScript book一书时,对于javascript继承体系,我花费了相当的时间,并在该过程中研究了各种不同的模拟经典类继承的方案.这些技术方案中,我最为推崇的是base2与Prototype的实现. 从这些方案中,应该能提炼出一个具有其思想内涵的框架,该框架须具有简单.可重用.易于理解并无依赖等特点,其中简单性与可用性是重点.以下是使用示例:   var Person = Class. extend ( { init: function (is

推荐一个简单的托盘类

有的网友开发了自己的托盘类,实现起来略微烦琐.在这里我向大家推荐一个实现简单而十分有效的托盘类(是我在一本书中学来的). 1.把TrayIcon.cpp和TrayIcon.cpp拷贝到你的项目目录,并添加到项目中. 2.在DemoDlg.h中加入#include "TrayIcon.h" 3.通过类向导向类CDemoDlg添加成员变量CTrayIcon m_CTrayIcon; 4.建立菜单资源,使其ID为:IDR_DEMO,设计菜单: 向demo1和exit添加事件处理程序: voi

问一个简单的DBhelper类使用问题

问题描述 usingSystem;usingSystem.Collections.Generic;usingSystem.Text;usingSystem.Configuration;usingSystem.Data.SqlClient;usingSystem.Data;namespaceDAL{publicstaticclassDBHlper{///封装的一个ConnectionprivatestaticSqlConnectionconnection;publicstaticSqlConnec

一个简单的javascript类定义例子_js面向对象

复制代码 代码如下: <script> //定义一个javascript类 function JsClass(privateParam/* */,publicParam){//构造函数 var priMember = privateParam; //私有变量 this.pubMember = publicParam; //公共变量 //定义私有方法 function priMethod(){ return "priMethod()"; } //定义特权方法 //特权方法可以

php编写一个简单的路由类_php技巧

类代码: 复制代码 代码如下: <?php class Router { public function getRouter($types = 1) { if ( isset($_SERVER['PATH_INFO']) ) { $query_string = substr(str_replace(array('.html','.htm', '.asp', '//'), '',$_SERVER['PATH_INFO']),1); } else { $query_string = str_repl

一个简单php日志类

日志类如下,news目录为当前php文档根目录下子目录. <?phpif( ! defined('BASEPATH') ) {    define ('BASEPATH', $_SERVER['DOCUMENT_ROOT'].'/news/');}require_once BASEPATH.'config/config.inc.php';require_once BASEPATH.'config/constants.php';define ("LOG_PATH", $config

一个简单的 Ajax 类

var Configuration = { MaxHttpRequest : 3} function Ajax(){ this.Version = "1.0.1"; this.Query = new Array(Configuration.MaxHttpRequest);  this.RequestCount = 0; this.XmlHttp = null; } Ajax.prototype.Create = function(){ try{   this.XmlHttp = new