Ruby 笔记
Ruby 里 require,load 和 include 区别: 区别:
1、requre,load 用于文件,如.rb 等等结尾的文件。 2、include 则用于包含一个文件(.rb 等结尾的文件)中的模块。 3、requre 一般情况下用于加载库文件,而 load 则用于加载配置文件。 4、requre 加载一次,load 可加载多次。 ●“require”和 “load”用途是一致的, 用来载入新的程式库,“include”是用来 mix-in 模 组。 ●require 可载入某个 a.rb 档案, 且可以省略 ”.rb”. 而且它只会在第一次的时候载入, 若 再次 require 时就会忽略。 require 'a' a = A.new ●load 和 require 一样但要用 a.rb 全名, 且每次一定会重新载入。 load 'a.rb' a = A.new ●include 用来 mix-in 某个模组, 可以減少书写的长度。 require '
webrick' include WEBrick //可以不用 server = WEBrick::HTTPServer.new(...) 用 server = HTTPServer.new(...) ●如果说 abc.rb 中包含一个模块 Ma,和几个类 Ca,Cb 等等。那么你若想在 ef.rb 文件中使用 abc.rb 中的资源,你得这样: require 'abc.rb' 若还想在 ef.rb 的某个类中使用 abc.rb 中的模块,则应在这个类中加入 include Ma 如果你只想在 ef.rb 文件的某个类中使用 abc.rb 的模块,你得这样: require 'abc.rb' include Ma
Ruby 里 p , puts 和 print 区别 区别:
在 rails 开发中,最基本的检测错误的方法,莫过于 puts 和 p 的输出了。 ●p 和 print 一样。 ●
查询数据库中一条数据记录集, p 把数据库中的字段和值都输出 了, puts 只输出一个对象 的标识。 代码例子: @post = BlogPost.find(params[:id]) p @post puts @post 代码例子: class SomeClass def initialize (arg_1, arg_2) # called with SomeClass.new @member_1 = arg_1
@member_2 = arg_2 end def print puts "member_1: " + @member_1 puts "member_2: " + @member_2 end end sc1 = SomeClass.new('foo', 'bar') puts sc1.inspect p sc1 puts sc1
字符串:
(1)建立空字符串: 代码例子: puts String.new puts String.new('123') b="abc" pb puts b 输出如下: (空白行) 123 "abc" abc (2)判断一个字符串是否为空 puts "".empty? 输出 true puts "123".empty? 输出 false (3)输出字符串的长度 puts "phper.yang".length #10 puts "phper.yang".size #10 (4)输出文本 t = <
PHP RUBY PYTHON
(5)字符串链接
puts "hello," " ruby phper.yang" puts "hello," + " ruby phper.yang" puts "hello, " << " ruby phper.yang" puts "hello, ".concat " ruby phper.yang" (6)字符串截取用法(位置从 0 开始) ttt = "hello ruby,phper.yang" puts ttt[8] #98 puts ttt[8].chr #b puts ttt[8,15] #by, phper.yang puts ttt[8,15].capitalize #By,phper.yang puts ttt[0...8] #hello ru puts ttt[/ruby/] #ruby puts ttt.index("r") #6 取第一次出现位置 puts ttt[ttt.index("y")] #121 puts ttt[ttt.index("y")].chr #y (7)字符串比较 puts s1.eql?s2 #true false (8)字符串累加输出 puts "g,hm" * 3 # g,
hm g,hm g,hm (9)在某一个字符串中在插入字符串 puts "ruby ".insert 5, "php" # ruby php 第 5 个位置处插入 (10)替换某部分字符串 tt = "ruby,php,java" tt['java'] = 'python' puts tt # ruby,php,python (11)去掉字符 chop、chop!会去掉字符串最后的一个字符。 chomp、chmop!则从字符串中摘除行尾的分隔符。通常是换行符。 (12)从字符串中删除某个字段 ttt = 'java,python,ruby,php,asp' puts ttt puts ttt.delete "," (13)字符串的替换 puts s1.replace "python" (14)反转字符串 puts s1.reverse (15)字符串转数组 i = "phpruby".split( // ) i.each do |v| puts v puts '---' end (16)数组转字符串: sz = ['php','ruby','python']
puts sz.join("@") # php@ruby@python @随意啥都行 (17)遍历字符串 "ruby".each_byte { |v| print v,"/" } (18)字符串的大小写转换 t = 'PHP'