`
fireflyman
  • 浏览: 118412 次
  • 性别: 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
分享到:
评论
29 楼 fireflyman 2011-01-23  
require "shorturl"

puts ShortURL.shorten("http://mypage.com")
puts ShortURL.shorten("http://www.iteye.com", :moourl)


* <tt>:rubyurl</tt>
* <tt>:tinyurl</tt>
* <tt>:shorl</tt>
* <tt>:snipurl</tt>
* <tt>:metamark</tt>
* <tt>:makeashorterlink</tt>
* <tt>:skinnylink</tt>
* <tt>:linktrim</tt>
* <tt>:shorterlink</tt>
* <tt>:minlink</tt>
* <tt>:lns</tt>
* <tt>:fyad</tt>
* <tt>:d62</tt>
* <tt>:shi turl</tt>
* <tt>:littlink</tt>
* <tt>:clipurl</tt>
* <tt>:shortify</tt>
* <tt>:orz</tt>
* <tt>:moourl</tt>
* <tt>:urltea</tt>
* <tt>:vurl</tt>

28 楼 fireflyman 2011-01-20  
$ irb
>> 2*3
=> 6
>> _ + 7
=> 13
>> _
=> 13


在$ script/console里一样有效
27 楼 fireflyman 2011-01-20  
inject

# Sum some numbers
(5..10).inject {|sum, n| sum + n } #=> 45


# Multiply some numbers
(5..10).inject(1) {|product, n| product * n } #=> 151200


# find the longest word
longest = %w{ cat sheep bear }.inject do |memo,word|
  memo.length > word.length ? memo : word
end
longest #=> "sheep"


# find the length of the longest word
longest = %w{ cat sheep bear }.inject(0) do |memo,word|
  memo >= word.length ? memo : word.length
end
longest #=> 5

26 楼 fireflyman 2011-01-20  
You may know about the :disabled option for form elements such as buttons, text-fields etc:

submit_tag "Pay", :disabled => true


Did you know, you can pass any boolean expression as a value?

submit_tag "Pay", :disabled => @cart.empty?

25 楼 fireflyman 2011-01-20  
all? and any?

%w{ ant bear cat}.all? {|word| word.length >= 3} #=> true
%w{ ant bear cat}.all? {|word| word.length >= 4} #=> false
[ nil, true, 99 ].all?                           #=> false

%w{ ant bear cat}.any? {|word| word.length >= 3} #=> true
%w{ ant bear cat}.any? {|word| word.length >= 4} #=> true
[ nil, true, 99 ].any?                           #=> true

24 楼 fireflyman 2011-01-17  
3 ways to invoke a method in Ruby

irb(main):001:0> str = 'Hello'
=> "Hello"
irb(main):002:0> str.method(:length).call
=> 5
irb(main):003:0> str.send(:length)
=> 5
irb(main):004:0> str.length
=> 5
23 楼 fireflyman 2011-01-17  

   after_filter :set_charset
     
    def set_charset
      content_type = @headers["Content-Type"] || 'text/html'
      if /^text\//.match(content_type)
        @headers["Content-Type"] = "#{content_type}; charset=utf-8"
      end
    end
22 楼 fireflyman 2011-01-14  
随机生成十六进制颜色

"#"+rand(255).to_s(16)+rand(255).to_s(16)+rand(255).to_s(16)

21 楼 fireflyman 2011-01-14  
对于多数的model的select列表,都可用model属性+方法的形式,做一个列表,然后在form里显示.

很常见的,比如.
def self.purchase_status
 {0 => "未确定", 1 => "已订购", 2 => "准备出库", 3 => "已发货"}
end


在form里,这样调用
<td>
 <th>购买状态</th>
 <td><%= f.select :purchase_status, PlaceBuyUser.purchase_status.invert %></td>
</td>



在一些list的地方,也会把这个值作为一个显示
 def purchase_status_view
   PlaceBuyUser.purchase_status[self.purchase_status]
 end


调用的时候:
<td><%= purchase_status_view %></td>


20 楼 fireflyman 2011-01-14  
1、find :first 和find :all

使用 Model.find_by_user_name ,来简写
Model.find(:first, :conditions=>["user_name=?",user_name])


使用 Model.find_all_by_user_name ,来简写
 Model.find(:all, :conditions=>["user_name=?",user_name])


这里也可以使用and,比如典型的用户名和密码查询:
Person.find_by_user_name_and_password(user_name, password)


find也支持带参数的查询,比如Payment.find_all_by_amount(50,rder => “created_on”)

2、find_or_create_by_和find_or_initialize_

find_or_create_by_:当查询的内容不存在时,创建并保存该记录

find_or_initialize_:更上面的相似,只是创建不保存该记录,需要自己再次save

这里也支持参数和代码块,如

User.find_or_create_by_name('Bob', :age => 40) { |u| u.admin = true }


3、find_by_的时候,支持多属性,如

Tag.find_or_create_by_name(:name => “rails”, :creator => current_user)
19 楼 googya 2011-01-09  
这些很有趣。。
特别是: 
 

x = [1,2,3,4,5,6,7,8,9,10]

x.first 5 
=> [1,2,3,4,5] 

x.last 2 
=> [9,10]

18 楼 fireflyman 2011-01-05  
If you want to throw the exception after rolling back you can do something like this:

  Company.transaction do
    user.save
    company.save
    x = 1/0
  rescue
    exp = $!
    begin
      raise ActiveRecord::Rollback
    rescue
    end
    raise exp
  end
17 楼 fireflyman 2010-12-31  
关键字过滤脚本
源地址:http://www.iteye.com/problems/14251
arry=%W{sb TMD NND}
str="asf sdf sdf ssd fs fs fssb sb dsfTMD TMD sdfNND NND"
arry.each do |a|
  str.gsub!(/\b#{a}\b/im){|word| "*"*word.size}
end
puts str
=> "asf sdf sdf ssd fs fs fssb ** dsfTMD *** sdfNND ***
"
16 楼 fireflyman 2010-12-31  
Ruby执行定时任务小脚本-->
源地址:http://chinaonrails.com/topic/view/4302.html
(1)
def background_every_n_seconds(n)
  fork do
    loop do
      before = Time.new
      yield
      interval = n - ( Time.now - before )
      sleep(interval) if interval > 0
    end
  end
end

background_every_n_seconds(300) {
  # do something every 300 seconds
}


(2)eventmachie

#!/usr/bin/env ruby
require 'rubygems'
require 'eventmachine'
EM.run do
  EM::PeriodicTimer.new(300) do
    #每300秒输出一次时间
    puts Time.now
  end
end
15 楼 fireflyman 2010-12-31  
与RSS有关的-->
#layout:
<%= yield :head %>
 #可以在对应试图中定义content_for :head代码块来将数据插入到这地方.
#views
<% content_for :head do %>
  <%= auto_discovery_link_tag %>
<% end %>

==><link href="http://localhost:3000/articles" rel="alternate" title="RSS" type="application/rss+xml"/>
14 楼 fireflyman 2010-12-30  
Hpricot 使用 CSS 的类来搜索 HTML 文档中的元素
require 'rubygems'
require 'hpricot'
require 'open-uri'

doc = Hpricot(open('http://www.rubyinside.com/test.html'))
puts doc.search("h1").first.inner_html

list = doc.at("ul")
highlighted_item = list.at("/.highlighted")
puts highlighted_item.inner_html
13 楼 fireflyman 2010-12-30  
RSS 2.0
require 'rss/2.0'
require 'open-uri'

url = 'http://fireflyman.iteye.com/rss'
feed = RSS::Parser.parse(open(url).read, false)
puts "#{feed.channel.title}"
feed.items.each do |item|
  puts item.title
  puts " (#{item.link})"
  puts
  puts item.description
end
12 楼 fireflyman 2010-12-30  
从书里找到这段更Cool的代码
require 'win32ole'

ChartTypeVal = -4100;

excelobj = WIN32OLE.new("excel.application")

excelobj['Visible']=TRUE
excelobj.Workbooks.Add()


excelobj.Range("a6")['Value'] = 100
excelobj.Range("a30")['Value'] = 999


excelobj.Range("a1")['Value'] = 100
excelobj.Range("a2")['Value'] = 200
excelobj.Range("a3")['Value'] = 300
excelobj.Range("a4")['Value'] = 400
excelobj.Range("a1:a4").select()

excelchart = excelobj.Charts.Add()
excelchart['Type'] = ChartTypeVal

30.step(180,5) do |r|
 excelchart.rotation = r
 sleep(0.1)
end

excelobj.ActiveWorkbook.Close(0)
excelobj.Quit()
11 楼 fireflyman 2010-12-30  
Ruby 调用 Windows Excel 来生成电子表格
require 'win32ole'

excelobj = WIN32OLE.new("excel.application")

excelobj['Visible']=TRUE
excelobj.workbooks.add()


excelobj.Range("a6")['Value'] = 100


excelobj.Range("a1")['Value'] = 100
excelobj.Range("a2")['Value'] = 200
excelobj.Range("a3")['Value'] = 300
excelobj.Range("a4")['Value'] = 400
excelobj.Range("a1:a4").select()
10 楼 fireflyman 2010-12-30  
Ruby 对字符串进行转码
require 'iconv'
input_encoding = "windows-1252"
output_encoding = 'utf-8'

converted_doc = Iconv.new(output_encoding, input_encoding).iconv("asdf")

相关推荐

    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