《用Ruby把那个O(1)栈做了一下》的相关内容
相关讨论
Active Record 错误信息本地化
ActiveRecord出错信息是已经格式化过的英文字符串,这很不方便做本地化处理。要想做本地化,必须保留错误数据,在显示时再格式化为本地语言。不过ActiveRecord过早地把错误信息格式化为字符串,基本上已经断绝了本地化这条路。
为了让ActiveRecord错误信息可以本地化,我采用打补丁的方式。查看验证这部分代码,发现格式化字符串分散在各个验证方法中,一一重写不大合算。好在它是调用de ...
by qiezi 2006-10-12 浏览 (8748) 回复 (14) 关键字: 本地化 activerecord
疑问:yield到底是怎么运作的?
最早看到yield时,就用c/C++中的概念对比了一番,发现最接近就是“宏代码的展开”。粗看起来,这样的理解是可以的。不过马上就有个问题出来了,就是定义域。宏代码的展开,要求展开后的代码处于被展开的位置同一个定义域,否则,相关变量和函数就会出现没有定义的错误。 不过从下面的ruby代码来看,yield没有这样的问题存在
class A
def self.test
yield
end
en ...
by jack 2006-10-31 浏览 (14867) 回复 (31) 关键字:
浏览(遍历)Ruby模块
假如有个Ruby源文件如下:
module AA
# something else...
module BB
# something else...
end
module CC
# something else...
end
# something else...
end
如何做一个module browser,也就是说,找出它的 ...
by billgui 2006-06-15 浏览 (3865) 回复 (9) 关键字:
创建自己的ruby Gems
RubyGems是一个库和程序的标准化打包以及安装框架,它使定位、安装、升级和卸载Ruby包变的很容易。rails以及它的大部分插件都是以gem形式发布的。本文描述一个自己创建ruby Gems的过程。
假设你今天用ruby实现了一个stack结构,你想发布到网上让别人可以共享,OK,工作开始了。首先你的程序当然要先写好了:
#stacklike.rb
...
by dennis_zane 2007-04-12 浏览 (3747) 回复 (2) 关键字: ruby gem
Rails源码研究之ActiveRecord:四,Validations
Validations相关的源码全在validations.rb文件里:
module ActiveRecord
class Errors
include Enumerable
@@default_error_messages = {
:inclusion => "is not included in the list",
:exclu ...
by hideto 2007-06-21 浏览 (2102) 回复 (4) 关键字: activerecord validations 源码
相关博客
Google面试题(六)之解答
引用题目:对现在的Stack(栈)数据结构进行改进,加一个min()功能,使之能在常数,即O(1),时间内给出栈中的最小值。可对push()和pop()函数进行修改,但要求其时间复杂度都只能是O(1)。
题目是在http://akalius.javaeye.com/blog/162156看到的,提供了两种方法。不幸的是第一种方法是错误的,第二种方法也不完全正确。都没有考虑到连续压入、弹出和有相同 ...
by ggggqqqqihc 2008-02-16 浏览 (337) 回复 (0) 关键字:
用Ruby写个NFA
今天有点空闲,想想用Ruby写个NFA试试。从正则表达式构造NFA采用经典的Thompson算法:正则表达式 -> 后缀表达式
->
构造NFA。构造了NFA后,用之匹配字符串。一句话,写了个玩具的正则表达式引擎,支持concatenation、alternation以及
*、?、+量词,不支持反向引用和转义符。测试了下与Ruby自带的正则表 ...
by dennis_zane 2008-02-25 浏览 (805) 回复 (1) 关键字:
每天一条Ruby小道之高级数据结构
Set
初始化
require 'set'
s1 = Set[3,4,5]
arr = [3,4,5]
s2 = Set.new(arr)
s3 = Set.new(arr) {|x| x.to_s}
简单操作
x = Set[1,2,3]
y = Set[3,4,5]
a = x.union(y) # Set[1,2,3,4,5]
b = x | y &n ...
by hideto 2007-08-15 浏览 (826) 回复 (3) 关键字: set stack queue tree graph
相关圈子讨论
请CTFE高人指教编译时汇编器
我写了一个简单的堆栈式虚拟机用来加密一个程序的序列号算法,其中的 enum Instruction 的定义可以在编译时由 Ruby 脚本产生随机的操作码,大大增加破解难度。
我正在努力创建一个编译时汇编器,用于汇编这些代码,可是编译时的字符串处理功能很弱,如果谁有这方面的经验,欢迎赐教。
module vm;
import std.stdio;
class Stack
{
...
by oldrev 2007-04-04 浏览 (432) 回复 (6)
Jim Weirich -- Advanced Ruby Class Design
Jim Weirich 是rake,builder等作者,他在做<<Advanced Ruby Class Design>>演讲的时候,列出了一段很漂亮的代码,
在此提供给大家分享,供大家学习,Jim Weirich可是骨灰级的programmer哟
# BlankSlate provides an abstract base class with no predefined
...
by Transformers 2007-12-20 浏览 (401) 回复 (0)
相关新闻
Python:160行代码写一个编辑器和解释器
M. Taylor写道:我在几周前开始学习Python,作为一个学习用的项目,我给自己设定的目标是编写一个简单的while语句的编辑器和解释器。写Python代码如同梦幻,工作流程如下:思考你如何解决这个问题,尝试用最高级别eval loop去解决,如果不能完成,找另外的途径,如果可行,把它放入你的模块。终于我成功了!
我用最简单的方式来写python:
stmtlist := (stat ...
by QQbyte 2008-06-23 浏览 (1975) 回复 (7) 关键字: python
拉风+酷毙的HotRuby: 在一个JavaScript和Flash的虚拟机上跑Ruby
HotRuby是一个在Javascript和flash上的虚拟机上跑ruby代码并编译成opcode的项目。你可以通过在网页上嵌入<script type=”text/ruby”>…</script>并在之间写ruby脚本。HotRuby会识别并编译为远程脚本然后由javascript和flash的虚拟机来执行,显示在页面上。这里演示一 ...
by robertlyc 2008-03-27 浏览 (5800) 回复 (21) 关键字:
JDave - Java的行为驱动编程框架
BDD,即行为驱动编程,是TDD的一个改进版本,BDD本质上也是TDD,但是比TDD要更加自然一些,更DSL化,通过定义一个一个具体可执行的Behavior来驱动软件的开发过程。如果你是一个Ruby程序员的话,那么你一定会发现RSpec已经提供了良好的BDD编程框架。我们正在开发当中的JavaEye3.0网站就是使用了rspec来编写系统的behavior,来驱动编程和单元测试。
不过如果你是一 ...
by robbin 2007-11-21 浏览 (949) 回复 (3) 关键字: JDave bdd

