ruby对于正则表达式的使用是非常灵活的,提供了专门的正则表达式对象Regexp.其包括match实例方法,字符串也含有该方法.so可以这么做: /a/ =~ "a" "a" =~ /a/ "a".match("a") /a/.match("a") 但是在新版的ruby中不可以这样: "a" =~ "a" #error! 另外正则的比较还可以用操作符===,其返回tr
# define french_string = "il \xc3\xa9tait une fois" long_string = <<EOF Here is a long string With many paragraphs EOF puts long_string.empty? puts long_string.include? "many" puts french_string + long_string # concatenate hash =
# [Ruby 块]=begin1 块由大量代码构成2 块中代码包含在{}内3 从与其相同名称的函数调用4 可以使用yield语句调用块=enddef test p '在test方法内' yield p '又回到了test方法内' yieldend test {p '你在块内'}#也可以传递由参数的yielddef test yield 5 p '在方法内' yield 100endtest {|i| p "你在块#{i}内"} # 传递多个参数def test yield 5,100
最近因为公司需求开始看ruby,先从ruby的基本数据类型开始看 看到ruby的字符串类型string,发现ruby中的字符串单双引号是不一样的,这点和Python有那么点不一样 主要是我们对字符串进行变量引用的时候要使用双引号 如下: 可支持全部的转义字符及用#{exp}将Ruby中的值插入字符串中 例: i = 5 str = “ abab#{i}cjd” #->abab5cjd “#{‘ho‘ *3} happy new year” #->ho ho ho happy new yea
输出: print printf 既定格式输出 puts 自动换行 p 显示对象 sprintf 不规则字符串 pp 需要导入库 putc(字母) 转移字符和单双引号 include Math或者直接Math.方法 变量 注释 单行# 多行#=begin #=end 控制结构 条件:if.unless.case if 条件 [then] 动作 else 动作 end 循环: while 条件 do 动作 end 次数.times{动作} 定义方法 def 方法名 动作 end 引用库 re