ruby
文章平均质量分 73
ruby相关知识
微信-yangfansky
专注 ruby on rails
展开
-
[ruby]curl的使用
1. 介绍按照官方对 curl 的定义是这样的:Curl is a tool and libcurl is a library for transferring data with URL syntax, supporting FTP, FTPS, HTTP, HTTPS, GOPHER, TFTP, SCP, SFTP, TELNET, DICT, LDAP, LDAPS, FILE, IMAP, SMTP, POP3, RTSP and RTMP. libcurl offers a myriad转载 2022-04-21 12:40:18 · 253 阅读 · 0 评论 -
[ruby]使用多线程和多进程来写爬虫
为了提高处理和运算速度,或者充分利用 cpu 的计算和处理能力,需要使用多线程编程。我们要把 ruby-china.org 上每篇贴子的标题和回复的数量,用爬虫爬下来。1. 用 ruby 代码来实现。require 'open-uri'require 'nokogiri'(1..50).each do |page| begin puts "page - #{page}" doc = Nokogiri::HTML(open("https://ruby-china.org/top转载 2022-04-21 12:29:09 · 241 阅读 · 0 评论 -
[ruby]性能测试
1. 介绍当开发到一定程序,积累了越来越多的代码,整个网站的运行速度难免会遇到一定的瓶颈。或者说有时候有两个方法实现一个功能时,却不知哪个方法是运行起来比较快的,这个时候就需要进行性能测试了,主要是运行速度的测试。2. 使用benchmarkruby 的标准库就有提供来实现这个性能测试的库,文档地址可见于: http://ruby-doc.org/stdlib-2.2.2/libdoc/benchmark/rdoc/Benchmark.html。要使用起来也是很简单的,只要对照文档给出的例子,转载 2022-04-21 11:30:52 · 191 阅读 · 0 评论 -
[ruby]方法定义和调用def、define_method
普通方法定义 defclass A def a(arg) puts "a_#{arg}" end def b(arg) puts "b_#{arg}" end def c(arg) puts "c_#{arg}" end enda,b,c方法相似并重复,写测试的话需要每个方法都写,麻烦动态方法定义 define_method已知有哪些相似方法,放在一起定义class A NameArray = %i(a b c) # =>原创 2021-11-24 01:02:43 · 286 阅读 · 0 评论 -
[Ruby]Ruby 中的 作用域、Block、Proc、Lambda
在 Ruby 中容易搞混(學不好),且面試經常會被問的問題:「請說明 Block、Proc、Lambda 是什麼」「Block 中的 do…end 與 花括號 { } 差異」「請說明 Proc 與 Lambda 區別」「Rails 的 scope 為什麼用 Lambda?」「要怎麼把 Block 轉成 Proc、Lambda?」「要怎麼把 Proc、Lambda 轉成 Block?」上述常見問題,一次滿足!!Block (程式碼區塊)什麼是 Block ?Ruby 是一款相當徹底「转载 2021-09-29 13:31:28 · 422 阅读 · 0 评论 -
[Ruby]Encode编码
1. 获取编码用 String#encoding 方法可获取字符串的编码,用伪变量 _ENCODING_ 可获取当前运行脚本的编码2. encode 和 force_encoding区别encode假设当前编码是正确的,并尝试更改字符串,使其在第二次编码中以相同的方式读取force_encoding设置给定的字符串编码,但不改变字符串本身,即不改变它在内存中的表示force_encoding改变字符串从字节读取的方式,而encode改变字符串写入的方式而不改变输出(如果可能)'łał'.原创 2021-09-28 15:46:38 · 455 阅读 · 0 评论 -
[Ruby] IO类,输入输出, File类
1. 标准输入、输出分为标准输入、标准输出、标准错误输出主要用于从键盘获取输入数据# 获取键盘输入$stdin.gets STDIN.gets gets # 屏幕输出, 标准输出 $stdout.p会报错$stdout.print $stdout.printf $stdout.puts $stdout.putc# 屏幕输出, 标准错误输出 $stderr.p会报错$stderr.print $stderr.printf $stderr.puts $std原创 2021-09-27 10:11:17 · 199 阅读 · 0 评论 -
[ruby]单例类 singleton class,class_eval vs instance_eval
单例类定义被用于定义对象的专属实例方法。# 初始化变量str1 = 'Ruby' # String的一个对象str2 = 'Ruby' # String的一个对象str3 = 'ruby' # String的一个对象str4 = [1,2] # Array的一个对象str5 = {a:6} # Hash的一个对象str6 = 1 # Numeric的一个对象str7 = Numeric.new在类中定义类方法, class << 类名 ~ end这种写法的.原创 2021-08-29 01:11:48 · 186 阅读 · 0 评论 -
[ruby]OCR识别PDF
gem install docsplitgem install docsplitInstall GraphicsMagick# macbrew install graphicsmagickInstall Poppler# ubuntu apt-get install poppler-utils poppler-data# mac brew install poppler(Optional) Install GhostscriptGhostscript is requ.转载 2021-03-15 09:07:23 · 303 阅读 · 0 评论 -
[Ruby]数组和散列
数组和散列都是带有索引的集合,访问数组元素的效率较高,但散列的灵活性更强原创 2020-03-16 10:46:01 · 154 阅读 · 0 评论