`

ruby代码收藏

    博客分类:
  • ruby
阅读更多

1.sed split file:
# return file index
def sed_split_file(filename)
  len = 200000
  lines = `wc -l #{filename} | awk '{print $1}'`.strip.to_i
  start_at = 1
  end_at = len
  i = 1

  while end_at < lines do
    cmd = "sed -n '#{start_at},#{end_at}p' #{filename} > #{filename}_#{i}.csv &"
    `#{cmd}`
    start_at = end_at + 1
    end_at = end_at + len
    i += 1
  end
  i
end

2.    .irbrc
#.irbrc

require 'rubygems'
require 'wirble'
Wirble.init
Wirble.colorize
require 'pp'
require 'ap'

class Object
  def local_methods
    (methods - Object.instance_methods).sort
  end
end

if ENV.include?('RAILS_ENV') && !Object.const_defined?('RAILS_DEFAULT_LOGGER')
  require 'logger'
  RAILS_DEFAULT_LOGGER = Logger.new(STDOUT)
end

获取平台信息
ruby -e "puts RUBY_PLATFORM"


3.计 算文件行数
require 'find'
dir = "/Users/holin/Downloads/Applications"
arr = []
Find.find(dir) do |path|
  if FileTest.file?(path) && path =~ /results_/
    arr << (`wc -l #{path} | awk '{print $1}'`.strip.to_i - 1)
  end
end
puts arr.inject(0){|sum, n| sum += n}

4.合并文件
require 'find'
dir = "/Users/holin/Downloads/Applications"
Dir.chdir(dir)
arr = []
Find.find(dir) do |path|
  if FileTest.file?(path) && path =~ /results_/
    arr << File.read(path).strip
  end
end

File.open("results_all.csv", "w") do |f|
  f.write arr.join("")
end

String to Class Object:
"note".camelcase.constantize


5.Ruby Grep
[1,10,100,1000].grep(1..100) # => [1, 10]
[1,'a',2,'b'].grep(Integer) # => [1,2]

['hello.rb','world.rb','public.html'].select{|x|x=~/\.rb/}.map{|x|x[0..-4]}
['hello.rb','world.rb','public.html'].grep(/(.*)\.rb/){$1}

['a','1','b','2'].select{|x| /^\d*$/ === x}.map{|x| x.to_i}
['a','1','b','2'].grep(/^\d*$/){|x| x.to_i}

['a','1','b','2'].select{|x| /^\d*$/ === x}.map(&:to_i)
['a','1','b','2'].grep(/^\d*$/,&:to_i)
Conclusion: Although the definition and implementation of the “grep” method from Enumerable module is simple, but by combing with other Ruby expression like case equal(“===”), Regexp, and “&symbol” block, It become a very handy and powerful method. Therefore next time when you come across some situation need to use “select + map”, keep “grep” in your mind beforehand.


6.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

7.retrieve the last return:
$ irb
>> 2*3
=> 6
>> _ + 7
=> 13
>> _
=> 13

8.转码:
require 'iconv'
require 'htmlentities'
coder = HTMLEntities.new
result = Iconv.iconv("GBK//IGNORE","UTF8//IGNORE",coder.decode(""))

String to unicode
class String
  def to_json(options = nil) #:nodoc:
    json = '"' + gsub(ActiveSupport::JSON::Encoding.escape_regex) { |s|
      ActiveSupport::JSON::Encoding::ESCAPED_CHARS[s]
    }
    json.force_encoding('ascii-8bit') if respond_to?(:force_encoding)
    json.gsub(/([\xC0-\xDF][\x80-\xBF]|
             [\xE0-\xEF][\x80-\xBF]{2}|
             [\xF0-\xF7][\x80-\xBF]{3})+/nx) { |s|
      s.unpack("U*").pack("n*").unpack("H*")[0].gsub(/.{4}/, '\\\\u\&')
    } + '"'
  end
end

分享到:
评论

相关推荐

    Android代码-RubyChina的第三方客户端

    收藏 缓存帖子列表 开发环境 JDK 1.8.0 Android Studio 1.2.1.1 Android SDK 22 代码及图片资源引用 v2ex by greatyao rubychina4android by gonjay google design icons 屏幕截图 LICENSE Copyright (C) 2015...

    个人收藏 ruby 语言 开发经典教程集

    这个"个人收藏 ruby 语言 开发经典教程集"包含了丰富的资源,旨在帮助你全面掌握Ruby开发技能。 《Ruby语言.chm》可能是该教程集中的一份核心资料,通常会深入介绍Ruby的基础语法、类与对象的概念、模块、方法、块...

    ruby on rails blog(博客)制作

    Ruby on Rails是一个基于Ruby语言的开源Web应用框架,它遵循MVC(模型-视图-控制器)架构模式,旨在让Web开发更为简洁高效。在这个"ruby on rails blog(博客)制作"项目中,我们将深入探讨如何利用Rails创建一个...

    用于您的私人 DVD 的简单翻录、编码和 iTunes 库工具_Ruby_代码_下载

    总的来说,musical是一款专为音乐爱好者设计的实用工具,它通过Ruby的高效编程特性,简化了音乐DVD的数字化过程,并且与iTunes的紧密结合,让用户能够更好地管理和享受自己的音乐收藏。如果你是一个热衷于音乐并希望...

    网游开发基础代码我的收藏

    在“网游开发基础代码我的收藏”这个主题中,我们可以深入探讨以下几个关键知识点: 1. **网络编程**:网络游戏的核心是网络通信,开发者需要掌握TCP/IP协议栈,理解socket编程,包括服务器端的监听、连接、并发...

    Ruby China社区iPhone客户端源代码

    Ruby China社区iPhone客户端源码,Ruby China社区的iPhone客户端。 希望能给社区的同学带来一点帮助,节省一点时间。欢迎大家在使用过程中,提出改进建议和意见。...已发帖子、收藏帖子查看 10、Ruby Chin

    Dash for mac 2.2.0 强大的API文档和代码管理工具 只要3分

    3. **代码片段管理**:除了文档,Dash还允许用户创建、收藏和组织自己的代码片段。这有助于保持代码库的整洁,并方便日后快速重用。 4. **集成与插件**:Dash可与多种开发环境无缝集成,如Xcode、Visual Studio ...

    2021-2022年收藏的精品资料软件工程师推荐10个开发者最常用的代码编辑器.docx

    【标题】2021-2022年收藏的精品资料软件工程师推荐10个开发者最常用的代码编辑器 【描述】这份资料是精选的教育教学资料,旨在介绍一些能够极大提升开发效率的代码编辑器。 【标签】精品教育教学资料 【正文】 ...

    在线论坛的代码

    8. **社区功能**:论坛往往具有许多社交特性,如关注、好友系统、私信、点赞、收藏、话题分类和标签等,这些都是提升用户粘性的关键。 9. **移动端适配**:随着移动设备的普及,论坛应具备良好的响应式设计,以适应...

    wtfPython—Python中一组有趣微妙的代码【收藏】

    wtfPython是github上的一个项目,作者收集了一些奇妙的Python代码片段,这些代码的输出结果会和我们想象中的不太一样; 通过探寻产生这种结果的内部原因,可以让我们对Python里的一些细节有更广泛的认知。 1.字典键...

    [源代码]Python算法详解.rar

    )收藏评论(0)举报资料介绍基于Python分别讲解了算法是程序的灵魂,数据结构,常用的算法思想,线性表、队列和栈,树,图,查找算法,内部排序算法,经典的数据结构问题,解决数学问题,经典算法问题,解决图像问题...

    bookeye-rb:一个简单的Ruby工具,可以跟踪我的藏书

    在Ruby社区中,这样的工具对于喜欢阅读和收藏书籍的人来说非常实用,它能够提供一种数字化的方式来整理和管理个人的图书馆。 首先,让我们深入了解一下Ruby。Ruby是一种面向对象的、动态类型的编程语言,以其简洁的...

    splitcheck:此Ruby on Rails应用程序是一个网站,用于讨论餐厅是否允许拆分支票。 它具有投票,评论和收藏夹功能

    最后,测试是任何Rails项目不可或缺的部分,可能使用RSpec、Capybara和FactoryBot进行单元测试、集成测试和 fixtures,确保代码质量和功能正确性。 综上所述,"splitcheck"项目涵盖了Ruby on Rails开发的多个核心...

    图片定时抓取代码

    在IT行业中,图片定时抓取是一项常见的需求,例如用于数据监测、新闻聚合或者个人收藏等。本项目名为“图片定时抓取代码”,其主要功能是自动化地从指定网页抓取图片,并且设置为定时任务,使得程序能持续运行,无需...

    博物馆收藏应用

    对于用户界面,Ruby on Rails的erb模板引擎可以方便地将HTML和Ruby代码混合编写,实现动态页面生成。同时,还可以结合Bootstrap或jQuery等前端库,提升用户体验,如响应式设计、动态加载和交互效果。 此外,考虑到...

    开源问答平台 者也源代码

    在RoR中,数据库交互通常通过ActiveRecord模型完成,这是一个ORM(对象关系映射)库,使得开发者可以使用Ruby代码操作数据库。 3. **用户认证与授权**:为了实现用户注册、登录和权限管理,者也源代码可能集成了...

    有趣的

    由于提供的压缩包文件名为“pinteresting-main”,我们可以推测这是一个与Pinterest相关的Ruby项目,可能是实现了一个类似Pinterest的功能,如图片分享、社交互动或个人收藏板等。 Ruby是一种面向对象的、动态类型...

    NetBeans IDE 6.1 快捷键和代码模板(中文版)

    - **Ctrl-Shift-1/2/3**:在“项目”/“文件”/“收藏夹”中选择。 - **Ctrl-[, ]**:将插入记号移至匹配的方括号。 ##### 4. 编码与代码生成 - **Alt-Insert**:生成代码。 - **Ctrl-Shift-I**:修复全部类的导入...

    memes_rep:Ruby on Rails中的image(memes)存储库的示例应用程序

    一个Ruby on Rails应用程序,用于上传模因,存储您的收藏集,通过主题标签搜索其他模因,并且可以根据需要将模因设为私有。 一个演示项目。 除其他外,它使用: Carrierwave和RMagic上传图像; Devise and Pundit...

    vim-rails:rails.vim:Ruby on Rails电动工具

    这是一个庞大的(很好的方式)Vim插件,用于编辑Ruby on Rails应用程序。 轻松浏览Rails目录结构。 gf考虑上下文,并且知道部分信息,固定装置等等。 有两个命令:A (备用)和:R (相关),可在文件之间轻松跳转,...

Global site tag (gtag.js) - Google Analytics