rubyメタプログラミング(メモ)

971 ワード

最初の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

クラス名は大文字でなければなりません
同じ名前のclassが3つ定義されていません
配列を印刷するreで始まる方法
[].methods.grep/^re/