道喜技术日记 .^. 天天红玉世界

Rails Ruby MacOSX 。。。创新来自于刻苦的实践和勤奋的思考... www.hhtong.com


Ruby世界:看看如何解析Ruby语言代码

Gudao Luo2011-05-31 at 10:16发表的

2011-05-31-ripper
  • 说明
    • Ripper是Ruby语言解析器;
    • Ripper是Ruby 1.9版本的组成部分;
    • Ripper2Ruby是Ruby语言库;
    • Ripper2Ruby能够生成Ruby语言代码的一种表达方式;
    • Ripper2Ruby能够修改这种表达方式,并且编译成为Ruby代码。

代码世界:如何添加页面按钮twitthis

Gudao Luo2011-05-16 at 10:04发表的

2011-05-16-twitthis

2011-05-16-add-twitthis

  • 说明
    • 下面参考文献1中有代码,如下面的图所示。
    • 把该代码复制到博客软件相关的显示页面,如本网站所使用的软件Simplelog,其页面文件为:$ROOT_RAILS/themes/simplelog/views/posts/_item_detailed.rhtml
  • 网站lycom.de使用说明
    • 点击页面日期链接,如,’由 Gudao Luo2011-05-15 at 08:59 发表的’。
    • 一旦点击日期链接以后,就出现如上面的图所示的按钮”twitthis“,且点击之。

代码世界:如何理解Ruby类及其函数?

Gudao Luo2010-02-16 at 18:15发表的

2010-02-15-dir
  • 说明
    • 首先要理解类的函数是什么意思。
    • 其次类没有我们所需要的函数,但是有自己想法。
    • 最后就自己写个相关函数,与大家共享。

代码世界:灰色对象、灰色操作、灰色关联和灰色。。。

Gudao Luo2010-01-28 at 20:57发表的

2010-01-28-dirty
  • 专业名称翻译
    • 灰色对象(Dirty Objects)、灰色操作(Dirty Operations)、灰色关联(Dirty Associations)和灰色(Dirty)。。。

Ruby代码世界:Array排序代码实例

Gudao Luo2009-09-06 at 10:33发表的

2009-09-06 1515

以字符串为元素的Array排序代码清单一
   items = [ "d", "a", "e", "c", "b" ]
items.sort #从小到大排序,=> ["a", "b", "c", "d", "e"]
items.sort {|x,y| x <=> y } #从小到大排序,=> ["a", "b", "c", "d", "e"]
items.sort {|x,y| y <=> x } #从大到小排序, => ["e", "d", "c", "b", "a"]
以模型对象为元素的Array排序代码清单二
class Company
attr_accessor :nr
attr_accessor :name
def initialize(nr, name)
@nr = nr
@name = name
end
end
objects = [Company.new(2, "d"), Company.new(1, "a"), Company.new(3, "e")]
objects.sort {|x,y| x.name <=> y.name }
#以模型对象元素name进行模型对象的排序结果:
#=> objects = [Company.new(1, "a"), Company.new(2, "d"), Company.new(3, "e")]

代码世界:对于数组的运算符“<<”和“+=”的差异

Gudao Luo2008-11-27 at 21:53发表的

对于数组的运算符“<<”
a = [1,2,3]
b = [4,5]
a << b
# 变量a结果为:[1,2,3,[4,5]]
对于整数(或者字符串等)的运算符“<<”
a = [1,2,3]
b = 4
a << b
# 变量a结果为:[1,2,3,4]
对于数组的运算符“+=”
a = [1,2,3]
b = [4,5]
a += b
# 变量a结果为:[1,2,3,4,5]

代码世界:逆向循环语句

Gudao Luo2008-11-27 at 09:58发表的

正向循环语句
(1..5).each do |i|
puts i
end
逆向循环语句
5.downto(1) do |i|
puts i
end
  • 说明
    • 在下面资料的逆向循环语句中,do前面多了一个点。
  • 参考资料
    • http://www.railsrocket.com/articles/looping-backwards-in-ruby

代码世界:开源软件Redmin版本0.7.3的代码问题

Gudao Luo2008-11-11 at 13:54发表的

免费无限存放图片在slide.com!
  • 问题说明
    • 创建一个项目
    • 再创建新自己的跟踪标签,注意顺序。
    • 问题出现了,在项目创建项目新的问题时,自己所创建的跟踪标签并没有出现。
  • 解决办法
    • 这个问题的原因是软件代码把跟踪标签依赖于项目。
    • 代码改写如下面代码所示。第二行代码是源代码,而第三行代码是新增加的代码。
    • 所有@project.trackers及其类似的代码都改写Tracker.all。
文件app/views/issues/_form.rhtml的部分代码
<% if @issue.new_record? %>
<p><%#= f.select :tracker_id, @project.trackers.collect {|t| [t.name, t.id]}, :required => true %>
<%= f.select :tracker_id, Tracker.all.collect {|t| [t.name, t.id]}, :required => true %></p>

文章推荐:以Ruby语言开发Cocoa框架软件实例

Gudao Luo2008-08-05 at 04:28发表的

以Ruby语言开发Cocoa框架软件实例
  • 说明
    • 伴随Mac OS系统的不断发展,相信基于该系统软件的开发市场也会越来越大。

代码世界: 如何在软件SimpleLog中更好地显示代码

Gudao Luo2008-08-03 at 03:32发表的

如何在软件SimpleLog中更好地显示代码

解决方案

  • 切换到软件SimpleLog的根目录
cd %SIMPLELOG_ROOT%
  • 下载CSS文件
cd public/themes/simplelog/stylesheets
wget http://www.lycom.de/themes/simplelog/stylesheets/coderay.css
cd %SIMPLELOG_ROOT%
  • 打开SimpleLog软件的主模板文件,并且把所下载的CSS文件连接到程序中去
vi themes/simplelog/layouts/site.rhtml
    <%= theme_stylesheet_link_tag 'coderay.css', :title => Site.site_name, :media => 'screen' %>
* 写博客时使用下面的HTML代码
<div class="CodeRay"><pre>
—你的代码—
</pre></div>

代码世界:介绍使用jQuery UI标签功能

Gudao Luo2008-08-02 at 19:04发表的

介绍使用jQuery UI标签功能

使用实例

  • 下载CSS文件及其图片
    1 svn co http://jquery-ui.googlecode.com/svn/tags/latest/themes/flora/
    
  • 下载jQuery软件及其UI库
    1   curl -O http://code.jquery.com/jquery-latest.js
    2   curl -O http://dev.jquery.com/view/tags/ui/latest/ui/ui.core.js
    3   curl -O http://dev.jquery.com/view/tags/ui/latest/ui/ui.tabs.js
    
    或者使用命令
    1   wget http://code.jquery.com/jquery-latest.js
    2   wget http://dev.jquery.com/view/tags/ui/latest/ui/ui.core.js
    3   wget http://dev.jquery.com/view/tags/ui/latest/ui/ui.tabs.js
    
  • 创建一个HTML文件
    1   vi tabs.html
  • 该HTML文件必须包含三部分内容
     1 <html><head>
     2   <!— 1. 说明CSS文件和jQuery文件的位置 BEGIN —>
     3   <script src="jquery-latest.js"></script>
     4   <link rel="stylesheet" href="flora/flora.all.css" type="text/css" media="screen" title="Flora (Default)">
     5   <script type="text/javascript" src="ui.core.js"></script>
     6   <script type="text/javascript" src="ui.tabs.js"></script>
     7   <!— 1. 说明CSS文件和jQuery文件的位置 END —>
     8  
     9   <!— 2. jQuery代码 BEGIN —>
    10   <script>
    11   $(document).ready(function(){
    12     $("#example > ul").tabs();
    13   });
    14   </script>
    15   <!— 2. jQuery代码 END —></head><body>
    16  
    17   <!— 3. 与jQuery代码相关的HTML代码 BEGIN —>
    18   <div id="example" class="flora">
    19     <ul>
    20       <li><a href="#fragment-1"><span>One</span></a></li>
    21       <li><a href="#fragment-2"><span>Two</span></a></li>
    22       <li><a href="#fragment-3"><span>Three</span></a></li>
    23     </ul>
    24     <div id="fragment-1">tab1 内容</div>
    25     <div id="fragment-2">tab2 内容</div>
    26     <div id="fragment-3">tab3 内容</div>
    27   </div>
    28   <!— 3. 与jQuery代码相关的HTML代码 END —></body></html>
    
  • 参考资料

Ruby世界:解决Ruby的重大安全

Gudao Luo2008-06-14 at 07:06发表的

解决Ruby的重大安全隐患
  • 说明
    • Ruby语言的新版本解决了Ruby的最大安全隐患。在最差的情况下攻击者可以封锁和执行任何Ruby代码。

代码世界:使用Proc.new 和 lambda的区别

Gudao Luo2008-04-07 at 18:19发表的

使用Proc.new 和 lambda的区别
  • 说明
    • 使用Proc.new 和 lambda最重要的区别之一是在使用函数call时其行为是不一样的。

网站推荐:Ruby语言代码段网站

Gudao Luo2008-01-10 at 14:27发表的

Ruby语言代码段网站

Rails框架:页面代码实例

Gudao Luo2007-06-18 at 21:51发表的

Ruby语言最重要的代码库PLEAC-Ruby

Gudao Luo2007-03-08 at 23:12发表的

  • 说明:PLEAC-Ruby网站包含了大量十分重要的Ruby语言代码实例。