`
fireflyman
  • 浏览: 118428 次
  • 性别: Icon_minigender_1
  • 来自: 火星
社区版块
存档分类
最新评论

ruby各种小脚本(集装箱)

    博客分类:
  • ROR
阅读更多
有时候听歌听的入迷了,就想下载google的歌词,可是下下来总是这个样子...
引用
[00:17.00]有时后我觉得自己像一只小小鸟
[00:23.00]想要飞 却怎么样也飞不高
[00:30.00]也许有一天我栖上枝头 却成为猎人的目标
[00:36.00]我飞上了青天才发现自己从此无依无靠
[00:43.00]每次到了夜深人静的时候我总是睡不着
[00:50.00]我怀疑是不是只有我的明天没有变得更好
[00:56.00]未来会怎样究竟有谁会知道
[01:03.00]幸福是否只是一种传说 我永远都找不到
[01:10.00]我是一只小小小小鸟 想要飞呀飞却飞也飞不高
[01:24.00]我寻寻觅觅寻寻觅觅一个温暖的怀抱
[01:29.00]这样的要求算不算太高
[01:37.00]我是一只小小小小鸟 想要飞呀飞却飞也飞不高
[01:51.00]我寻寻觅觅寻寻觅觅一个温暖的怀抱
[01:56.00]这样的要求算不算太高
[02:03.43]所有知道我的名字的人啊你们好不好
[02:27.33]所有知道我的名字的人啊你们好不好
[02:33.29]世界是如此的小 我们注定无处可逃
[02:40.20]当我 尽人情冷暖 当你决定为你了的理想燃烧
[02:46.67]生活的压力与生命的尊严哪一个重要
[02:54.36]我是一只小小小小鸟 想要飞呀飞却飞也飞不高
[03:07.10]我寻寻觅觅寻寻觅觅一个温暖的怀抱
[03:13.22]这样的要求算不算太高
[03:21.00]我是一只小小小小鸟 想要飞呀飞却飞也飞不高
[03:33.90]我寻寻觅觅寻寻觅觅一个温暖的怀抱
[03:40.31]这样的要求算不算太高
[03:46.17]所有知道我的名字的人啊你们好不好
[03:47.05]这样的要求算不算太高
[03:58.43]所有知道我的名字的人啊你们好不好


一个一个的修改删除,这多没劲啊...所以...
f=File.open('M0030002007.lrc')
f.each do |line|
    puts line.gsub(/[\[\d:\.\]]/,'')
end  

1
1
分享到:
评论
49 楼 fireflyman 2011-04-18  
> Time.now.strftime("%Y-%m-1")
"2011-04-1"


> Time.now.strftime("%A %B %d or %a %e/%m")
=> "Monday April 11 or Mon 11/04"

48 楼 fireflyman 2011-04-15  
简易字符转换
model ApplicationHelper
 def yes_no(bool)
   if bool == true
     "yes"
   else
     "no"
   end
 end
end
47 楼 fireflyman 2011-04-02  

config\initializers目录下建立一个custom_requires.rb,然后...
例如:G:\Program Files\ImageMagick-6.5.6-Q8
应填入-->(不支持空格)
Paperclip.options[:command_path] = "XX:/PROGRA~1/ImageMagick-6.5.6-Q8" 


详细参考-->
Paperclip提示command is not recognized by the 'identify
http://hot88zh.iteye.com/blog/859238
46 楼 fireflyman 2011-04-02  
下面两个相信是最常用的方法.....
logger.info("aaa--#{properties}-----------")  

<pre name="code" class="Ruby"><% logger.info("------#{@properties[2].inspect}----")%>
45 楼 fireflyman 2011-03-28  
IE9出来了,又要弄个新的CSS hack。

  
   body {
        color: green\9; /* IE8 */
        *color: yellow; /* IE7 */
        -color: orange; /* IE6 */
      }
      body:not(:target) {
        color: red\9; /* IE9 */
      }

<!doctype html> <html lang="en"> <head> <meta charset="utf-8" /> <title>css hack by 司徒正美</title> <style type="css/text"> body { color: green\9; /* IE8 */ *color: yellow; /* IE7 */ -color: orange; /* IE6 */ } body:not(:target) { color: red\9; /* IE9 */ } </style> </head> <body> </body> </html> 
44 楼 fireflyman 2011-03-23  
In Rails 2 the only way to add multiple validations to a field is through separate validate statements:
validates_presence_of :title
validates_length_of :title, :maximum => 30


Rails 3 simplifies this process by adding a method called validates which is a “shortcut to all default validators”. Using the validates method your code will look like this:
validates(:title, :presence => true, :length => {:maximum => 30})

43 楼 fireflyman 2011-03-01  
Rails 預設是使用 ActiveRecord 下 query。

所以我們會寫出這種 code

@category.posts.published.limit(10)


不過當 category 與 post 是 many to many 的情況下,就會產生 join 的情況。所以 controller 有這種 query 會很痛。
    Post Load (271.4ms) SELECT `posts`.* FROM `posts` INNER JOIN `post_categories` ON `posts`.id = `post_categories`.post_id WHERE ((aasm_state = ‘published’ and published_at <= '2011-02-26 17:54:19') AND ((`post_categories`.category_id = 1))) ORDER BY published_at DESC LIMIT 10


改進方式:

@category.all_posts.published.limit(10)


在 Category 多寫兩個 method,用兩次 select 換掉 join。

  
 PostCategory Load (3.7ms) SELECT post_id FROM `post_categories` WHERE (`post_categories`.category_id = 1)
    Post Load (14.5ms) SELECT * FROM `posts` WHERE ((aasm_state = ‘published’ and published_at <= '2011-02-26 17:35:29') AND (`posts`.`id` IN (4,9,17,18,19,27,28,34,35,37,45,46,50,59,62,63,68,69,71,72,73,75,77,78,79,81,83,90,92,93,97,98,99...............) ORDER BY published_at DESC LIMIT 10 


速度會快上很多倍。
42 楼 fireflyman 2011-01-26  
快速排序
class Array
  def qsort
    return self if self.length <= 1
    pivot = self.shift
    left, right = [],[]
    self.each { |ele| ele <= pivot ? left << ele : right << ele }
    left.qsort + [pivot] + right.qsort
  end
end

41 楼 fireflyman 2011-01-25  
Don´t confuse the right:

 validates_inclusion_of :published, :in => [true, false]

with the wrong:

 validates_inclusion_of :published, :in => %w(true false)

cause:

 %w(true false) == ["true", "false"]

40 楼 fireflyman 2011-01-25  
 [ "w", "x", "y", "z" ][-1]  
#=> "z"

39 楼 fireflyman 2011-01-25  
  "abc.,cde.,efg.,ghi".split(/.(,)/)
  => ["abc", ",", "cde", ",", "efg", ",", "ghi"]
  "abc.,cde.,efg.,ghi".split(/(.)(,)/)
  => ["abc", ".", ",", "cde", ".", ",", "efg", ".", ",", "ghi"]
  "abc.,cde.,efg.,ghi".split(/(.(,))/)
  => ["abc", ".,", ",", "cde", ".,", ",", "efg", ".,", ",", "ghi"]
  "abc.,cde.,efg.,ghi".split(/(.(,))/, 2)
  => ["abc", ".,", ",", "cde.,efg.,ghi"]
  "abc.,cde.,efg.,ghi".split(/(.(,))/, 3)
  => ["abc", ".,", ",", "cde", ".,", ",", "efg.,ghi"]

38 楼 fireflyman 2011-01-25  
in the FirmsController

@firm.people.update(params[:people].keys,params.values)

in the View

<% form_for(@firm) do |f| %>

  <%= f.error_messages %>
  <%= f.text_field :name %>
  <% @firm.people.each do |person| %>
  <% fields_for "people[]", person do |pf| %>
        <%= pf.text_field :name %>
  <% end %>
  <%= f.submit "Save" %>

<% end %> 
37 楼 fireflyman 2011-01-25  
检查数字是否是素数?
def prime?
      ('1' * self) !~ /^1?$|^(11+?)\1+$/
end
irb(main):004:0>   10.prime?
=> false
irb(main):005:0> 11.prime?
=> true


36 楼 fireflyman 2011-01-25  
数组转散列
  array = [['A', 'a'], ['B', 'b'], ['C', 'c']]

  hash = array.inject({}) do |memo, values|
    memo[values.first] = values.last
    memo
  end

  hash
  # => {'A' => 'a', 'B' => 'b', 'C' => 'c'}

35 楼 fireflyman 2011-01-25  
 date_select("user", "birthday", :start_year => 1940, :end_year => Date.current.year - 13)

34 楼 fireflyman 2011-01-25  
 <% remote_form_for "comment",:update =>  "form" do |f| %>
   # your form here
 <% end %>


 <% remote_form_for "comment", :update => {:success => "form", :failure => "errors"} do |f| %>
   # your form here
 <% end %>
33 楼 fireflyman 2011-01-25  
Following the similar egzample by autonomous, here's a simpler version when you just need to write a flexible helper method that takes a block.

For example, suppose you have a method that renders a tree:

  def render_tree(ary, &block)
    concat("<ul>", block.binding)
    for elem in ary
      concat("<li>", block.binding)
      yield elem
      concat("</li>", block.binding)
    end
    concat("</ul>", block.binding)
  end


You can use it in your view, eg:

  <% render_tree(@objects) do |elem| -%>
    <%= elem.title -%>
    <%= link_to 'delete', elem -%>
  <% end -%>


that would return for egzample:

  <ul>
    <li>
      Test title
      <a href="delete">/elems/1</a>
    </li>
  </ul>


Testing concat

To test such helper methods, use the following pattern (a utility method added to your Rspec/unit test suite:
  def render_for(root, options = {})
    _erbout = ''
    render_tree(root, options) do |node|
      _erbout.concat(node.title)
    end
    _erbout
  end


and test like this (RSpec example):

  it "should return abc" do
    render_for(object).should == 'abc'
  end

32 楼 fireflyman 2011-01-24  
validates_format_of :uri, :with => URI.regexp(['http'])

31 楼 fireflyman 2011-01-23  
Link to Unimplemented

# public/javascripts/application.js
function unimplemented() {
  alert("NOTICE\n\nThis feature is not implemented yet. Please check back again soon!");
}

This allows us to do the following:


  <a href="javascript:unimplemented();">link text</a>


# app/helpers/application_helper.rb
def link_to_unimplemented( link_text, *args )
  link_to_function( link_text, 'unimplemented()', *args)
end

Now, we’re able to use link_to_unimplemented and pass any arguments that you’d pass to the default link_to view helper.


<%= link_to_unimplemented( 'link text', { :class => 'link_class_name' } ) -%>

30 楼 fireflyman 2011-01-23  

  <div id="footer">
    &copy; Copyright <%= current_year -%>. All Rights Reserved.
  </div>


  # add to application_helper.rb
  module ApplicationHelper
    def current_year
      Time.now.strftime('%Y')
    end
  end

相关推荐

    ruby_ship, 便携式 MRI ruby 环境和工具集.zip

    ruby_ship, 便携式 MRI ruby 环境和工具集 ruby-船 可以在任何平台上移植便携式 MRI ruby 环境,任何版本的MRI ruby ! 不需要在计算机上安装 ruby 即可使用它 !ruby的目标是拥有一个包含 ruby的单独文件夹,它在...

    Ruby Ruby Ruby Ruby Ruby Ruby

    Ruby Ruby Ruby Ruby Ruby Ruby

    安装rvm,把ruby版本提升至3.0.0

    在IT行业中,管理和切换Ruby版本是一项常见的任务,特别是在开发环境中,不同的项目可能依赖于不同版本的Ruby。`RVM`(Ruby Version Manager)是解决这一问题的利器,它允许开发者在多个Ruby版本之间轻松切换。本文...

    ruby在unbuntu的安装版本

    本指南将详细讲解如何在Ubuntu系统上安装Ruby 2.1.5这一特定版本。 首先,确保你的Ubuntu系统是最新的。打开终端并运行以下命令来更新系统软件包: ```shell sudo apt-get update sudo apt-get upgrade ``` 接...

    ruby语言最新版本

    Ruby是一种纯粹的面向对象编程语言。它由日本的松本行弘(まつもとゆきひろ/Yukihiro Matsumoto)创建于1993年。 您可以在 www.ruby-lang.org 的 Ruby 邮件列表上找到松本行弘(まつもとゆきひろ/Yukihiro Matsumoto...

    ruby on rails 书全集(10余本经典著作PDF版)

    这套书全集包含了10余本经典著作,涵盖了从初学者入门到高级开发者的深入研究,对于想要全面掌握Ruby on Rails技术的读者来说,是一份宝贵的资源。 首先,我们来看看基础篇。在学习任何新技术时,扎实的基础是关键...

    Ruby on Rails安装包全集(Linux)

    在Linux环境下安装Ruby on Rails需要一系列的依赖包和步骤,本资源包提供了所需的所有组件,帮助用户在Linux系统上顺利构建RoR开发环境。 1. **readline-5.1.tar.gz**: 这是Readline库的源代码包,它提供了一种交互...

    Ruby-rubybuild编译和安装Ruby

    总结来说,`Ruby-rubybuild`是Ruby开发中非常实用的环境管理工具,通过`ruby-build`我们可以方便地编译和安装各种版本的Ruby,配合`rbenv`实现多版本的灵活切换,确保项目的稳定性和兼容性。无论你是初学者还是经验...

    Ruby编程语言算法集

    Ruby编程语言,由日本程序员松本行弘于1995年开发,是一...结合丰富的库和社区资源,开发者可以在Ruby的世界里探索和实现各种复杂的算法。无论是初学者还是经验丰富的程序员,都能在Ruby中找到适合自己的算法实现方式。

    ruby 1.9.3 p484稳定版本

    在使用ruby 1.9.3 p484时,开发者可以利用其强大的Gem生态系统,这是一个庞大的第三方库集合,涵盖了各种功能,如Web框架(如Ruby on Rails)、测试工具、数据库连接器等。通过`gem install`命令,开发者可以轻松地...

    基于Ruby编写的命令行注入版本.zip

    基于Ruby编写的命令行注入版本.zip基于Ruby编写的命令行注入版本.zip基于Ruby编写的命令行注入版本.zip基于Ruby编写的命令行注入版本.zip基于Ruby编写的命令行注入版本.zip基于Ruby编写的命令行注入版本.zip基于Ruby...

    ruby DBI ruby DBI ruby DBI

    ruby DBI ruby DBI ruby DBIruby DBI ruby DBI ruby DBIruby DBI ruby DBI ruby DBIruby DBI ruby DBI ruby DBIruby DBI ruby DBI ruby DBIruby DBI ruby DBI ruby DBIruby DBI ruby DBI ruby DBIruby DBI ruby DBI ...

    Ruby-rubyinstall安装RubyJRubyRubiniusMagLevorMRuby

    Ruby是一种强大的、面向对象的脚本语言,广泛用于Web开发、服务器端编程和各种应用程序。在Ruby的世界里,管理不同的Ruby实现(如MRI、JRuby、Rubinius、MagLev和MRuby)是非常重要的,这有助于开发者根据项目需求...

    ruby入门中文合集

    本“Ruby入门中文合集”是为初学者准备的一份全面学习资源,旨在帮助你快速掌握Ruby的基础知识和核心概念。以下是你将通过这个合集学习到的关键知识点: 1. **Ruby基础语法**:了解Ruby的变量(局部变量、实例变量...

    Ruby 学习文档合集

    此外,Ruby的包管理器Gem提供了大量的第三方库,涵盖了网络通信、数据库操作、模板引擎、测试框架等各种功能,极大地扩展了Ruby的功能。 6. **Ruby on Rails** 虽然文档没有直接提及,但Ruby最著名的应用框架是...

    ruby安装升级及命令自行编译安装非APTGET方式安装升级的办法

    ### Ruby的手动编译安装与升级方法 #### 引言 Ruby是一种动态、面向对象的脚本语言,常被用于Web开发。对于开发者而言,掌握Ruby的安装与配置至关重要。Ubuntu用户通常会依赖于包管理工具`apt-get`来安装Ruby,...

    Ruby完全自学手册 下

    《Ruby完全自学手册》是一本完全覆盖Ruby和Ruby on Rails的完全自学手册。《Ruby完全自学手册》的特色是由浅入深、循序渐进,注重理论和实践的结合。虽然定位为入门手册,但是依然涉及许多高级技术和应用,覆盖到的...

    ruby2ruby.zip

    ruby2ruby 提供一些用来根据 RubyParser 兼容的 Sexps 轻松生成纯 Ruby 代码的方法。可在 Ruby 中轻松实现动态语言处理。 标签:ruby2ruby

    Ruby资源ruby-v3.1.1.zip

    本资源“ruby-v3.1.1.zip”包含了Ruby的最新版本3.1.1,这是一个重要的里程碑,因为它引入了新特性、性能优化以及对旧版本的改进。 在Ruby 3.1.1中,开发者可以期待以下关键特性: 1. **块参数解构**:Ruby 3.1...

Global site tag (gtag.js) - Google Analytics