Ruby每周一测 - Ruby Quiz 是Ruby Talk邮件列表上的一个持续了很长时间活动,每周有一个小题目被提出来,然后大家进行解答讨论。Amazon上还有相关的书: Best of Ruby Quiz。我尝试挑选其中的一些题目进行翻译,做一个每周一测系列,欢迎大家参与讨论。
-----题目分割线-----
海龟作图(Logo)是我最早学习的一种编程语言,相信许多我的同龄人都接触过这个语言,正是它让我对编程产生了浓厚兴趣,在rubyquiz上看到这篇利用ruby实现海龟画图的每周一测后,倍感亲切:
引用
想像你控制了一只小海龟在一片沙滩上行动,你可以控制它前进(FORWARD),后退 ...
Rails 2.1快出来了,和2.0相比它又添加了很多新特性,列举一下我认为值得关注的新特性:
1. Has Finder 功能
广受欢迎的Has Finder插件被集成到了2.1的代码中,不过换了种写法,使用named_scope:
class User < ActiveRecord::Base
named_scope :active, :conditions => {:active => true}
named_scope :inactive, :conditions => {:active => false}
named_scope :recent, la ...
libmemcached是一个基于C/C++实现的memcached client library,memcached gem给这个library提供了ruby封装,根据原作者的性能评测,它比目前常用的memcache-client gem最多要快150倍。
因为对memcache的操作在rails处理整个http请求中所占时间比例并不多,而且JavaEye网站大部分是做cache读取操作,于是做了2个试验测试一下2者对于提升整个网站的性能到底有多少帮助:
1. 测试访问JavaEye网站的首页,在这个请求中只有一个缓存读取操作,使用ab简单地跑单次请求10000次:
使用memcache- ...
幼儿园的老师在教小家伙们学习十二生肖
老师:你是属什么的?
儿子:属小鸭子的
...十二生肖什么时候有了鸭子?老师强忍住笑
老师:妈妈是属什么的?
儿子:属蛇的
不错,有进步
老师再问:爸爸是属什么的?
儿子:属自行车的
...这下再也忍不住了,笑倒一片老师
Ruby每周一测 - Ruby Quiz 是Ruby Talk邮件列表上的一个持续了很长时间活动,每周有一个小题目被提出来,然后大家进行解答讨论。Amazon上还有相关的书: Best of Ruby Quiz。我尝试挑选其中的一些题目进行翻译,做一个每周一测系列,欢迎大家参与讨论。
-----题目分割线-----
以前在国外的影视或者广告中看到出现含字母的电话号码,比如1-800-PICK-UPS (美国UPS快递号码),心中不免有些疑惑:难道国外的电话是可以拨字母的?后来请教国外朋友,才明白这个疑问有点傻有点天真 看一下常见的电话键盘:
每个数字旁边都有3个或者4个字母对应,那么上面 ...
Ruby每周一测 - Ruby Quiz 是Ruby Talk邮件列表上的一个持续了很长时间活动,每周有一个小题目被提出来,然后大家进行解答讨论。Amazon上还有相关的书: Best of Ruby Quiz。我尝试挑选其中的一些题目进行翻译,做一个每周一测系列,欢迎大家参与讨论。
-----题目分割线-----
我们会在很多地方看到液晶屏样式显示的数字,比方说DVD/微波炉显示时间,常见的实现是利用7个发光二极管来做的:
这周的题目就是完成下面这个class,调用display方法进行液晶数字显示:
class LCD
def initialize(scale=1)
...
Ruby每周一测 - Ruby Quiz 是Ruby Talk邮件列表上的一个持续了很长时间活动,每周有一个小题目被提出来,然后大家进行解答讨论。Amazon上还有相关的书: Best of Ruby Quiz。我尝试挑选其中的一些题目进行翻译,做一个每周一测系列,欢迎大家参与讨论。
-----题目分割线-----
这周的题目是找零钱,假设我们需要找给别人39美分的零钱,那么结果将会是(美元的硬币有25,10,5,1这种):
>> make_change(39)
=> [25, 10, 1, 1, 1, 1]
假设我们的硬币种类有10,7,1,那么找14美分的零钱结果将会是:
...
Firefox有一个很有用的Session Restore功能:当浏览器由于异常原因崩溃或者不小心点了刷新按钮时候,能够自动保留之前填写的数据。
但是JavaEye的编辑器不知道什么原因导致这个功能失效,经过调试代码发现了能够重现这个问题的一个简单例子:
<html>
<body>
<div id="d"></div>
<textarea style="width: 300px; height: 300px;"></textarea>
<script>
var new_div = document.createElement('div') ...
在Ruby里用到对象图导航(Object Graph Navigation)的时候,有时候需要判断对象是否为nil,很常见这样的代码:
#显示某个产品的分类名称
product.category ? product.category.name : nil
ozmm.org的chris最近介绍了一个好方法,他给这个方法起名叫try(),给Object添加一个try方法:
class Object
def try(method)
send method if respond_to? method
end
end
这样上面的代码就可以简化成
produc ...
Google Chart API能够让我们利用URL传递参数来产生图表,比如简单的这样一句HTML代码:
<img src="http://chart.apis.google.com/chart?cht=bvs&chs=200x125&chd=s:JavaEye" />
就可以产生柱状图:
通过查看上面的URL,共有3个参数:
引用
cht: 代表了图表的类型(Chart Type的缩写),在上面的例子中bvs是代表垂直格式的Bar Chart
chs: 代表了图表的大小(Chart Size的缩写),在上面的例子中就是宽200px,高125px
chd: 代表了图表的 ...
- 浏览: 18488 次
- 性别:

- 来自: 上海

- 详细资料
搜索本博客
我的相册
M_100_4350
共 30 张
共 30 张
最近加入圈子
最新评论
-
Ruby每周一测 - 找零钱 ...
class Array; def sum; inject( nil ) { | ...
-- by 1000copy -
Google Chart API简介 ...
好像不支持中文。
-- by luolonghao -
Ruby每周一测 - 容易记的 ...
发个javascript版本的, 在FireFox3上通过. funct ...
-- by hurd -
Ruby每周一测 - 找零钱 ...
def make_change(amount, coins=[25, 10, 5 ...
-- by kdekid -
使用libmemcached提速memc ...
up+1顶JavaEye的cache系统每每都给我很深的印象
-- by lgn21st






评论排行榜