http://lightyror.blogspot.com/2006/09/blog-post.html
Ruby on Rails 另一個讓我感到很驚訝的部份
就是他製作 lib 的想法,完全遵照 The Ruby Way
一切以為人為本
當你的程式越接近人的語言
那你程式就越好維護
不了解我的意思嗎?
給個小範例
if Time.now - session[:last_login_time] > 3600
上面這段代表什麼意思,如果上次 login 的時間距離現在的時間只要超過 3600 秒(也就是一小時)就成立
我們可以改成
if Time.now - session[:last_login_time] > 3600.seconds
上面這段什麼意思,跟上面一模一樣
我們還可以改成
if Time.now - session[:last_login_time] > 1.hours
上面這段什麼意思,跟上面一模一樣
最後最後我們還可以改成
Session[:last_login_time] < 1.hours.ago
所以陳奕迅的歌可以改成 10.years.ago
當然還有 1.hours + 2.days 這樣的搞法@@!
本 lib 是 Rails 裡面的 ActiveSupport::CoreExtensions::Numeric::Time
要在Ruby 裡面使用請先宣告
require 'active_support'
然後就可以使用啦
當然啦,沒有 metaprogramming 觀念的語言是搞不出這種玩意的:p
--
lighty RoR 是一個介紹 lighttpd , SQLite , Ruby and Rails 的 Blog
http://lightyror.blogspot.com/
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 61.218.90.242
※ 編輯: giive 來自: 61.218.90.242 (09/27 16:37)
> -------------------------------------------------------------------------- <
作者: yzugsr (Bird) 看板: Ruby
標題: Re: 十年之前
時間: Wed Sep 27 16:42:37 2006
恕刪
我記得之前typo的month archive有點bug
好像是1.month = 30天
於是八月的archive會變成 8/1 0:00~8/30 23:59
然後8/31就不見了 XD
我之前自己架的時候有自己改code把他修正 現在不用typo了
不知道現在官方版本有沒有修正
日期用這樣的寫法感覺沒有很順
大月小月潤年那些 一不小心就會搞亂
不過看到typo裡
SimpleCache.new 1.hour
那麼簡單明瞭的敘述 真是一件賞心悅目的事 XD
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 61.216.175.232
出自我的Blog