`
dazuiba
  • 浏览: 128214 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

rubygems进阶技巧

    博客分类:
  • ruby
阅读更多
1. irb中自动载入rubygems
很多时候,你需要快速适应一些gem提供的方便的api。所以,我在irb中,自动导入了rubygem。
方法如下:

找到ruby/bin目录下的irb.bat
最后一行修改为:
"%~d0%~p0ruby" -x -rubygems "%~f0" %*

这样以来,就可以直接在irb中直接require 你需要的gem了,再也不用加上该死的require 'rubygem'了。

PS:
irb是快速学习ruby的重要工具,rails中的 script/console是一个装载了rails项目环境的irb。
gems是ruby下的包管理器,将在ruby1.9中,正式被纳入到standard lib中。
2.使用gem_server命令查看gems文档
命令行中输入: gem_server。
然后浏览localhost:8808,就可以看到所有你安装的gem的rdoc了。
3  通过rubygems代码,学习ruby
如果你想通过读别人的代码学习ruby,建议你从rubygems的代码开始,这会让你好受一些--------它设计的很“整洁”,类名和方法名一看就明白。
我用了两年的java,但必须承认,看这种ruby代码,比看相同功能的java代码要舒服很多,虽然它注释很少。好的设计就是这样子。
这里推荐两个软件: source insight 和 e-texteditor。前者对学习任何语言-----通吃,后者是我现在已经离不开的开发工具。
分享到:
评论
6 楼 dazuiba 2007-11-19  
这是bbcode 的问题,它把 :p 当成预定义的表情了。
5 楼 lgn21st 2007-11-19  
等等,刚才仔细看了看,好像这些图片是javaeye帮我自动加上去的
我用附件
4 楼 lgn21st 2007-11-19  
等等,刚才仔细看了看,好像这些图片是javaeye帮我自动加上去的

直接贴试试看:

require 'rubygems'
require 'pp'
require 'irb/completion'
require 'irb/ext/save-history'

$KCODE = 'u'

IRB.conf[:SAVE_HISTORY] = 100
IRB.conf[:HISTORY_FILE] = "#{ENV['HOME']}/.irb-save-history"
IRB.conf[:PROMPT_MODE]  = :SIMPLE

# Just for Rails...
if rails_env = ENV['RAILS_ENV']
  rails_root = File.basename(Dir.pwd)
  IRB.conf[:PROMPT] ||= {}
  IRB.conf[:PROMPT][:RAILS] = {
   ROMPT_I => "#{rails_root}> ",
   ROMPT_S => "#{rails_root}* ",
   ROMPT_C => "#{rails_root}? ",
    :RETURN   => "=> %s\n"
  }
  IRB.conf[:PROMPT_MODE] = :RAILS

  # Called after the irb session is initialized and Rails has
  # been loaded (props: Mike Clark).
  IRB.conf[:IRB_RC] = Proc.new do
    ActiveRecord::Base.logger = Logger.new(STDOUT)
    ActiveRecord::Base.instance_eval { alias :[] :find }
  end
end

def mp(message, color = nil)
  case color
  when 'red'    : color = '31;1'
  when 'green'  : color = '32;1'
  when 'yellow' : color = '33;1'
  when 'blue'   : color = '34;1'
  when 'purple' : color = '35;1'
  when 'sky'    : color = '36;1'
  else color = '36;1'
  end
  print "\e[#{color}m#{message}\e[0m\n"
end
3 楼 lgn21st 2007-11-19  
哦,把哪些删掉吧,这部分是很早设置过的,我都不记得了。
2 楼 dazuiba 2007-11-19  
呵呵,是我孤陋而寡闻了。
不错,已经换成你的了。
windows不能键入没有文件名的文件,
    我直接用的dos建的.irbrc
btw,你这个IRB.conf[:PROMPT][:RAILS]是干什么的,怎么还那么多图片?
1 楼 lgn21st 2007-11-19  
我的办法是在用户目录下新建一个名叫".irbrc"的文件,很多初始化参数都可以写在这里,我晒一下我的:

require 'rubygems'
require 'pp'
require 'irb/completion'
require 'irb/ext/save-history'

$KCODE = 'u'

IRB.conf[:SAVE_HISTORY] = 100
IRB.conf[:HISTORY_FILE] = "#{ENV['HOME']}/.irb-save-history" 
IRB.conf[:PROMPT_MODE]  = :SIMPLE

# Just for Rails...
if rails_env = ENV['RAILS_ENV']
  rails_root = File.basename(Dir.pwd)
  IRB.conf[:PROMPT] ||= {}
  IRB.conf[:PROMPT][:RAILS] = {
    :PROMPT_I => "#{rails_root}> ",
    :PROMPT_S => "#{rails_root}* ",
    :PROMPT_C => "#{rails_root}? ",
    :RETURN   => "=> %s\n" 
  }
  IRB.conf[:PROMPT_MODE] = :RAILS

  # Called after the irb session is initialized and Rails has
  # been loaded (props: Mike Clark).
  IRB.conf[:IRB_RC] = Proc.new do
    ActiveRecord::Base.logger = Logger.new(STDOUT)
    ActiveRecord::Base.instance_eval { alias :[] :find }
  end
end

def mp(message, color = nil)
  case color
  when 'red'    : color = '31;1'
  when 'green'  : color = '32;1'
  when 'yellow' : color = '33;1'
  when 'blue'   : color = '34;1'
  when 'purple' : color = '35;1'
  when 'sky'    : color = '36;1'
  else color = '36;1'
  end
  print "\e[#{color}m#{message}\e[0m\n" 
end

相关推荐

Global site tag (gtag.js) - Google Analytics