模块实例方法变成类方法
Posted
Module MyMod
def meth3
puts "Module instance method meth3"
puts "can become a class method."
end
end
class MyClass
class << self #Here, self is MyClass
include MyMod
end
end
MyClass.meth3
# Output:
# Module instance method meth3
# can become a class method.
在这里方法extend很有用,这样类定义将变成:
class MyClass
extend MyMod
end
使用extend例子
module Quantifier
def any?
self.each{|x| return true if yield x}
end
def all?
self.each{|x| return true if not yield x}
end
end
list = [1,2,3,4,5]
list.extend(Quantifier)
flasg1=list.any?{|x| x>5 } #false
flasg1=list.any?{|x| x>=5} #true
flasg1=list.all?{|x| x<= 10} #true
flasg1=list.all?{|x| x%2 == 0} #false
方法any?与all?被混合插入到数组list中。
此文章 短链接: http://dlj.bz/uFTxbT
Tag Cloud
AFNetworking(1)
AngularJS(2)
Devise(1)
Devops(1)
Homebrew(1)
MacOSX(11)
Rails4(2)
TTS(1)
Unauthorized(1)
analysis(1)
android(1)
apache(2)
api(1)
assets(5)
backup(3)
blog(1)
bower(1)
bundle(2)
cache(1)
capistrano(2)
capistrano3(2)
centos(4)
chrome-extension(1)
crontab(1)
css(1)
curl(1)
data(2)
deploy(2)
dlj(1)
dropbox(3)
elasticsearch(1)
fqa(1)
gem(7)
geobean(1)
gfw(1)
gis(1)
git(4)
github(2)
gitlib(1)
google(1)
httpd(1)
iOS(2)
java(1)
javascript(2)
jekyll(1)
js(2)
letsencrypt(1)
linode(2)
linux(16)
memcached(1)
mongodb(5)
mongoid(2)
mongomapper(1)
mtr(1)
mysql(2)
newrelic(1)
nginx(7)
nodejs(1)
notejs(1)
observer(1)
octopress(1)
omniauth-oauth(1)
openlayers(1)
paginate(2)
passenger(2)
pipeline(1)
plugin(2)
production(1)
proxy(3)
rails(23)
rails3(4)
rake(1)
restful_authentication(1)
ruby(28)
rvm(6)
search(1)
siege(1)
sinatra(2)
skill(7)
socks(1)
solr(1)
sql(2)
sqlserver(1)
ssh(6)
ssl(1)
story(4)
sublime-text(3)
sunspot(1)
sweeper(1)
theme(1)
tile(1)
tools(1)
ubuntu(19)
vagrantbox(2)
vps(2)
web(1)
webkit(1)
webpack(1)
win(3)
xcode(2)
yarn(1)
yum(1)
佛(3)
创业(1)
压力测试(2)
正则(1)
转载(7)