ruby元编程(备忘)

第一个deom

# coding: utf-8
class Greeting
	def initialize (text)
		@text = text
		puts '初始化'
	end

	def welcome
		@text
		puts @text
	end
	def haha
		
	end
end

my_object = Greeting.new("haha")
puts '=================='
puts my_object.class #Greeting
puts my_object.class.instance_methods(false) #除了继承来的方法的列表
puts my_object.instance_variables #@text


给string添加一个方法

# coding: utf-8

class String 
	def to_alphanumeric
		puts '去掉特殊符号'
		a = gsub /[^\w\s]/, ''	
		puts a
	end
end

my_object = String.new

my_object.to_alphanumeric

'asdasd^}]'.to_alphanumeric # =>asdasd
puts 'asdasd^}]'.length #string 的其他方法也没有替代掉,貌似同方法名会替代 =>9


3.times

3.times do 
	class Say
		puts 'hello word'
		
	end
end

类名必须大写

没有定义3个同名class

打印数组的以re开头的方法

[].methods.grep /^re/


你可能感兴趣的:(Ruby)