rubyメタプログラミング(メモ)
971 ワード
最初のdeom
stringにメソッドを追加
3.times
クラス名は大文字でなければなりません
同じ名前のclassが3つ定義されていません
配列を印刷するreで始まる方法
[].methods.grep/^re/
# 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/