Ruby Proc类】的更多相关文章

Proc类  生成  Proc.new() {...}  proc {...}    注,代码块参数带用  |..., *array| 获得后续参数的数组  lamda {...}  call呼出时会检查参数,不一样会报错  可以用return               呼出  proc.call(...)  proc[...]  proc.yield(...)  proc === ...    这种只能带一个参数  获取参数数量   proc.arity()   带动态长度的为-1  获取参…
Ruby Dir 类和方法 Dir 是一个表示用于给出操作系统中目录中的文件名的目录流.Dir 类也拥有与目录相关的操作,比如通配符文件名匹配.改变工作目录等. 类方法 序号方法 & 描述 1Dir[pat] Dir::glob( pat) 返回一个数组,包含与指定的通配符模式 pat 匹配的文件名: * - 匹配包含 null 字符串的任意字符串 ** - 递归地匹配任意字符串 ? - 匹配任意单个字符 [...] - 匹配封闭字符中的任意一个 {a,b...} - 匹配字符串中的任意一个 D…
Ruby File 类和方法 File 表示一个连接到普通文件的 stdio 对象.open 为普通文件返回该类的一个实例. 类方法 序号方法 & 描述 1File::atime( path) 返回 path 的最后访问时间. 2File::basename( path[, suffix]) 返回 path 末尾的文件名.如果指定了 suffix,则它会从文件名末尾被删除. 例如:File.basename("/home/users/bin/ruby.exe") #=>…
Ruby和其他面向对象的语言一样,使用类来组织方法,然后实例化类,创建对象.1.构造方法使用双引号是字符串的字面构造方法,也可以使用“具名构造方法”,即在类名上调用new方法 >> s="foobar" >> s.class => String >> s=String.new("foobar") >> s=="foobar" => true >> a=Array.new([1…
虽然obj-c的语法格式略显繁琐,但它和ruby都从某些方面继承了smalltalk的某些动态的东西.这些东西是 C和C++之类的静态语言所不曾有的. 比如ruby中可以将一个类或对象的所有方法枚举出来,在obj-c中我们同样可以这样做: #import <Foundation/Foundation.h> int main(void){ @autoreleasepool{ unsigned int count = 0; Method *ms = class_copyMethodList([NS…
class Person def initialize(name,age=18) @name=name @age=age @motherland="China" end def talk puts "my name is " +@name+",age is "+@age.to_s if @motherland == "China" puts "I am a China." else puts "I…
类方法 路径相关: File.basename(filename <, suffix>) -> string返回给定文件名 filename 的最后一部分.如果有 suffix 参数,且它出现在 filename 的末尾. 则它将被删除.通过使用 ".*" 可以去除任意扩展名 File.basename('/home/test/ruby.rb') #=> ruby.rb File.basename('/home/test/ruby.rb', '.rb') #=&…
Time类用于表示时间.时间除了表示年月日时分秒的信息外,还包含了表示地域时差的时区(time zone)信息.例如我们可以计算中国当前时间是国际协调时间的几点 Date类只用于表示年月日.因此,相对于Time类以秒为单位计算时间,Date类则是以天为单位进行计算的.Date类还可以求下个月的同一天,本月末等日期 Time puts Time.new #=> 2017-07-26 22:41:42 +0800 puts Time.now #=> 2017-07-26 22:41:42 +080…
一. URI require 'uri' uri = URI("http://foo.com/posts?id=30&limit=5#time=1305298413") #=> #<URI::HTTP:0x00000000b14880 URL:http://foo.com/posts?id=30&limit=5#time=1305298413> uri.scheme #=> "http" uri.host #=> &qu…
Proc 和 lambda 的目的是把block {....} 变成类似方法一样的对象,使其不需要重复编写同样的block. Proc 和 lambda 的共同点: 语法类似Proc.new{|n| n**2} lambda{|n| n**2} 都可以用.call方法调用 hello_proc = Proc.new{ puts "Hello!" }hello_proc.call #Hello!hello_lambda = lambda{ puts "Hello!"…