ruby 中super和super的区别

Python016

ruby 中super和super的区别,第1张

我们经常要在子类的initialize方法中调用super和super()。

从语法上说super和super()是有微妙区别的。

super不带括号表示调用父类的同名函数,并将本函数的所有参数传入父类的同名函数;

super()带括号则表示调用父类的同名函数,但是不传入任何参数;

演示代码如下:

1class SParent

2def initialize *args

3args.each {|arg| puts arg}

4end

5end

6

7class SChild <SParent

8def initialize a, b, c

9super

10end

11end

12

13a, b, c =*%W[a b c]

14SChild.new a, b, c # puts a, b, c if super

15SChild.new a, b, c # puts nothing if super()

可以看出当SChild的initialize中调用super()时,代码是不会打印任何信息的。这是因为super()没有向SParent的initialize方法传任何参数。

以下的两个类

object_a = A.new

那么怎么通过 object_a 来调用 B 类中的 a 这个method呢?

可以使用 super_method 这个方法来实现(因为A是继承B的)

如下:

object_a.method(:a).super_method.call #=>'b'

基本知识一:音变

备注:

1.字母的音变又称字母的通转,是原始印欧语根在梵语,原始日耳曼语,希腊语,拉丁语,

意大利语,法语,西班牙语,英语等诸多子语言中发生的一种元音字母和辅音字母通转的语

言现象,简言之,就是在拼写上虽然字母发生变化,但是其词根义或基础义不变。语言学者

最早在原始印欧语和原始日耳曼语的对比研究中发现这一现象和规律,即“格林定律”和“维

尔纳定律”,后来又有诸多规律性的语言现象被发现。虽然人们发现了这些语言变化的现象

和规律,但其成因机制尚不完全明确。

2.音变对初学者而言比较难以理解,因而,初学者初次接触音变知识,对音变知识有一基本

的了解和概念即可。随着对词根词缀知识认识的加深和接触的词汇增加,我们对音变知识的

认识也将随之理解得更加深刻。

1.元音音变(a-e-i-o-u)

例 1:基本词 same,一样的,同源词 assemble,similar,some.

例 2:基本词 ball,球,同源词 ballot,belly,bill,boll,bull,bullet.

例 3:基本词 band,绑扎,同源词 bend,bind,bond,bundle.

例 4:基本词 road,马路,公路,同源词 ride,raid,ready.

注解:

例 1:基本词 same,一样的,其词根为-sam,一,根据元音音变产生词根变化形式-sem,-sim,-som,

其同源词 assemble,来自前缀 as-,向前,朝向,词根-sem,一,字 面意思即使成为一体,引申

义组装;similar 即看起来一样的,相似的;some 即一些。

例 2:基本词 ball,其词根为-ball,鼓起,球,根据元音音变产生词根变化形式-bell,-bill,-boll,-bull,

其同源词 ballot,来自-ball,球,-ot,小词后缀,字面意思即小球,引申比喻义投票,来自古人

用黑白球投票的习俗,如 blackball,字面意思为黑球,黑球代表反对,因而引申词义反对票;

belly 来自词根-bell,球,-y,表亲昵,字面意思即小球,引申比喻义肚子;bill 字面意思为小球,

后代指封蜡,小蜡球,原指教皇下发给教会的教旨文件,封蜡代表其权威,因而引申比喻义

官方文件或法律文件,后词义扩大为议案,法案,帐单等,其原义见 bull,教皇诏书;boll

即像球一样的物体,后用于指棉铃,棉花球;bullet 来自-bull,球,-et,小词后缀,字面意思即

小球,引申比喻义子弹。

例 3:基本词 band,绑扎,其词根为-band,绑扎,捆绑,根据元音音变产生词根变化形式

-band,-bend,-bind,-bond,-bund,捆绑,绑扎,其同源词 band 来自其基本词义绑扎,引申名词词

义带子,小布条,其比喻义乐队原为军事术语,原指冲锋的战士头上绑一条布带,类似于现

在的敢死队,后早期的乐队模仿这一动作,因而引申词义乐队;bend 原指捆绑弓箭,引申

词义使弯曲;bind 即捆绑,束缚;bond 来自这一词根所引申的比喻义,用于指债券,公债,

捆绑,结合等;bundle 来自词根-bund,捆绑,-le,小词后缀,字面意思即小捆。

例 4:基本词 road,马路,其词根为-rid,骑,骑行,根据元音音变的双元音变化产生词根变化

形式-road,-raid,-read,骑,骑行,其同源词 road 原指骑马的小道或小径,后词义扩大为马路,

公路;ride 原指骑马,后词义扩大为骑车等;raid 原指古代骑兵突袭或强盗骑马抢劫,后引

申词义突袭,劫掠等;ready 来自词根-read,骑,骑马,原指准备骑马出远门,后词义通用为

准备好的。

6

2.辅音音变

2.1) b-f-p-v,w

b-f: brother 兄弟-fraternity 兄弟会 break 打破-fragment 碎片

b-p: be 存在-physics 物理 bore 钻孔-perforate 穿孔

b-v: biology 生物学-vivid 有生命的 rebel 造反-revel 狂欢

f-p: foot 脚-pedal 脚踏 father 父亲-paternal 父亲的

p-v: concept 概念-conceive 形成 September 七月,九月-seven 七

综合:library 图书馆-libel 小传单,诽谤-leaf 树叶-leprosy 叶片状,麻风病

rob 撒开,抢劫-rift 撕开,裂缝-rip 撕开-river 撕开,河流

注解:

b-f:

例词 brother 其词根为-bro,兄弟,其音变词根变化形式-fra,兄弟,-ther,-ter,表亲属关系后缀;

fraternity 字 面 意 思 即 兄 弟 情 谊 , 后 用 于 指 兄 弟 会 等 , 其 更 多 同 源 词 如

fraternal,fraternize,confraternity.

例词 break 其词根为-br,-break,打破,破碎,其音变词根变化形式-for,-frag,打破,破碎;fragment

来自词根-frag,破碎,-ment,名词后缀。

b-p:

例词 be 其词根为-be,生长,存在,其音变词根变化形式-phy,生长,存在;physics 来自词根

-phy,-phys,生长,存在,-ics,学科,字面意思即研究万物生长或存在的学科,即物理学。

例词 bore 其词根为-bor,钻,打破,打穿,其音变词根变化形式-for,钻,打破,打穿,引申比

喻义单调,使厌烦;perforate 来自前缀-per,完全,-for,钻,即完全钻过去,完全打穿。

b-v:

例词 biology 其词根为-bio,生命,其音变词根变化形式-viv,生命,-logy,学科,字面意思即有

关生命的学科;vivid 来自词根-viv,生命,-id,形容词后缀,字面意思即有生命的,引申词义

鲜活的等。

例词 rebel 来自前缀 re-,向后,相反,词根-bel,战争,字面意思即相反的战争,引申比喻义造

反,反抗;revel 为该词的拼写变化形式,即如同造反,用于比喻义狂欢。

f-p:

例词 foot 来自词根变化形式于-ped,脚;pedal 来自词根-ped,脚,-al,名词后缀,字面意思即与

脚类似之物,用于指自行车踏板,钢琴脚踏板等。

例词 father 来自词根变化形式于-pater,父亲;paternal 来自词根-pater,父亲,进一步来自词根

-pa,抚养,-ter,-ther,表亲属关系后缀。

p-v:

例词 concept 来自前缀 con-,一起,-cept,拿,抓住,其词根变化形式-ceive,拿,抓住,字面意

思即拿到一起,抓到一起,引申比喻义形成概念;conceive 构成该词的动词形式。

例词 September 来自词根-sep,-sept,七,来自 seven 的音变形式,September 在古拉丁语指七

月,因古罗马历法原仅有 10 个月,后人们认识到 10 个月的不科学性,故在“儒略历”改革

时新增 January,February,而原先的 September,October,November,December 则由七月,八月,

九月,十月顺延成九月,十月,十一月,十二月。

综合:

例词 library 来自词根-liber,书,进一步来自-lib,叶片,树叶,其词根变化形式-leaf,-leper,-lepro,

叶片,树叶,-ary,表集合,字面意思即书集中的地方,图书馆;libel 来自词根-lib,树叶,叶

片,-el,小词后缀,字面意思即小叶片,传单,后用于比喻义指诽谤人的小传单,后词义通

用化为诽谤;leprosy 来自词根-leper,树叶,叶片,-sy,形容词后缀,字面意思即叶片一般,

7

用于委婉语代指麻风病,因麻风病病人的皮肤如同剥落的树叶而得名。

例词 rob 来自词根-rob,撕,扯,根据元音和辅音音变产生词根变化形式-rif,-rip,-riv,撕,扯。

rob 由撕,扯引申词义撕开,抢劫;rift 构成该词根的名词形式,用于指裂缝;rip 来自该词

根的本义,撕开,扯开;river 来自该词根的引申义将陆地劈开,形成河流。该词根复合词

如 bereave,丧失亲人,来自 be-,使,-reave,撕开,扯开,bereft 构成该词的名词形式。

2.2) c-h-k

c-h: cordial 热心的-heart 心 carrot 胡萝卜-horn 角

综合:canine 狗的-hound 狗-kennel 狗舍

注解:

c-h:

例词 cordial 来自词根-cord,心,-al,-ial,形容词后缀;heart 来自该词根的音变形式。

例词 carrot 来自词根-car,角,-ot,小词后缀,字面意思即小角,用于比喻义指胡萝卜;horn

来自该词根的原义,拼写来自该词根的音变鼻音化形式。

综合:

例词 canine 来自词根-can,狗,来自拟声构词法,-ine,形容词后缀;hound 来自该词根的音变

形式;kennel 来自该词根的音变形式,-el,小词后缀,字面意思即小狗,后用于指狗舍。

2.3) c-g-k

c-g: cling 粘附-glue 胶水 cholesterol 胆固醇-gall 胆囊

c-k: canine 狗的-kennel 狗舍 church 教堂-kirk 苏格兰教会

g-k: goat 山羊-kid 小山羊,小孩 gene 基因-kind 种类

综合: corn 谷物-grain 颗粒-kernel 仁,籽

can 知道,能够-diagnosis 诊断-know 知道

注解:

c-g:

例词 cling 来自词根-cl,粘,-ing,动词后缀;glue 来自该词根的音变形式。

例词 cholesterol 来自词根-chol,胆,-ster,固,-ol,油,醇;gall 来自该词根音变拼写变化形式。

c-k:

例词 canine 来自词根-can,狗,来自拟声构词法,-ine,形容词后缀;kennel 来自该词根的音变

形式,-el,小词后缀,字面意思即小狗,后用于指狗舍。

例词 kirk 构成 church 的音变形式。

g-k:

例词 kid 来自 goat 的音变拼写变化形式,kid 原义为小山羊,后用于口语指小孩;gene 来自

词根-gen,生育,产生,kind 来自该词根的音变形式,其原义为生下来的同类,相同种类,种

族,家族,引申形容词比喻义同种类的,友好的。

综合:

例词 grain 来自词根-gr,-ger,颗粒;corn 来自该词根的音变鼻音拼写变化形式;kernel 来自该

词根的音变鼻音拼写变化形式,-el,小词后缀。

例词 can 来自词根-gn,-gen,知道,了解,引申词义能够;diagnosis 来自前缀 dia-,穿过,-gn,

知道,了解,-sis,希腊语名词后缀,字面意思即整体了解,引申词义诊断;know 来自该词

根的音变拼写变化形式。

2.4) c-p-t

8

综合: cycle 圆圈-pole 地极-telephone 远的声音,电话

综合:

例词 pole 来自词根-pol,转,用于比喻义指地极,即假想中地球围绕该地极转圈;cycle 由

-cy+-cle 两部分构成,其中-cy 构成-cle 的重复形式,-cle 来自该词根的音变形式;telephone

来自词根-tele,远的,-phone,声音,即远处传来的声音,用于科技名词指电话,其中-tel 来自

该词根的音变形式,原义为循环,绕一圈,后引申词义远的,遥远的,对应 paleo-,遥远的,

paleolithic,古石器时代的,Paleozoic,古生代的。

2.5) c-f-q-t

综合: cadre 四方形框架,干部-carrefour 家乐福超市-four 四-quadraphonic 四声道的-quarter

四分之一-tetrameter 四音步诗

注解:

综合:cadre 来自法语,来自词根-quadr,四,原指四方形的画框或框架,后用于指骨干,干

部;carrefour 来自法语,来自-carre,四,字母 d 脱落,-four,叉子,分岔,词源同 fork,叉子,

用于比喻义指十字路口,交通大道,后用于家乐福超市品牌名;four 来自词根-quadr,四;

quadraphonic 来自词根-quadr,四,-phon,声音;quarter 来自词根-quart,异化自-quadr,四,四分

之一;tetrameter 来自词根-tetra,四,反复形式于-tra,四,音变形式于-quart,四,-meter,音步,

韵律。

2.6) d

d-f: do 做-fact 即成事实 door 门-forum 门外广场,论坛

d-t: dean 十夫长-ten 十 dental 牙齿的-tooth 牙齿

d-z: diva-Zeus 神,宙斯 odor 气味,臭味-ozone 臭氧

注解:

d-f:

例词 do 来自原始印欧语根 PIE*dhe,做,fact 来自该词根的音变形式。

例词 door 来自词根-door,门,forum 来自该词根的音变形式,-um,拉丁语阳性格后缀,该词

字面意思为门外,城门外,后原于指古罗马的城门外大广场,兼做论坛及市民表达意见之所。

该词根同源词还包括 forensic,forest.

d-t:

例词 dean 缩写自词根-dec,-decem,十,原指古罗马军队的十夫长,后用于现代词义指教务长,

系主任等;ten 为该词的音变形式。该词根还包括同源词 decade,December,decimal,decimate.

例词 dental 来自词根-dent,牙齿,-al,形容词后缀;tooth 来自该词根的音变形式。

d-z:

例词 diva 来自拉丁语,来自词根-div,神,-a,拉丁语阴性格后缀,该词在拉丁语中词义为女神,

后在意大利语引申词义女高音歌唱家等,对应拉丁语阳性格为 divus,男神;Zeus 来自词根-ze,

神,来自该词根音变形式,-us,拉丁语阳性格后缀。

2.7) d-l-z

综合: odor 气味,臭味-olfactory 嗅觉的-ozone 臭氧

注解:

综合:

例词 odor 来自词根-od,嗅,闻,-or,名词后缀;olfactory 来自词根-ol,嗅,闻,来自该词根的

音变形式,-fact,做,行为,-ory,形容词后缀;ozone 来自-oz,嗅,闻,来自该词根的音变形

9

式,-one,化学名词后缀,字面意思即难闻的气体,用于指化学物质臭氧。该词根还包括同源

词 redolent,引起回忆的,引起联想的,来自前缀 red-,再,来自前缀 re-在元音前的拼写异化

形式,-ol,嗅,闻,-ent,形容词后缀。

2.8) g

g-h: garden 菜园,花园-horticulture 园艺学 guest 陌生人,客人-hostile 敌对的

g-q: gynecology 妇科-queen 女人,女王,皇后

g-w:guard 看守-ward 保卫 guerrilla 小战争,游击战-war 战争

g-y:garden 花园-yard 庭院 gold 黄金-yellow 黄色的

注解:

g-h:

例词 garden 来自词根-gard,园子,-en,小词后缀;horticulture 来自词根-hort,园子,来自该词

根的音变形式,-culture,栽培,耕作。

例词 guest 来自词根-guest,陌生人,客人;hostile 来自词根-host,陌生人,来自该词根的音变

形式,-ile,形容词后缀,字面意思即陌生人的,引申词义敌对的。

g-q:

例词 gynecology 来自词根-gyn,-gyneco,女人,-logy,学科;queen 来自该词根的音变形式,原

指高贵的女人,后词义进一步褒义化,用于指女人,皇后。

g-w:

例词 guard 音变自词根-ward,保卫,看护。

例词 guerrilla 音变自词根-war,战争,-illa,小词后缀,字面意思即小战争,特用于指游击战。

g-w:

例词 garden 来自词根-gard,园子,-en,小词后缀;yard 来自该词根的音变形式。

例词 gold 来自词根-gl,发光,光泽,yellow 来自该词根音变形式。该词根还包括同源词

glass,gloss,gilt.

2.9) g-b-d

g-b: gravity 重力-baron 重量级人物,男爵 rage 发狂的-rabies 狂犬病

g-d: glucose 葡萄糖-dulcet 甜蜜的

综合:red 红色的-ruby 红宝石-rouge 胭脂

注解:

g-b:

例词 gravity 来自词根-grav,重,-ity,名词后缀;baron 来自词根-bar,重,-on,人,字面意思即

重量级人物,用于称呼指男爵。该词根还包括同源词 guru,grave,isobar,barometer.

例词 rage 音变自词根-rab,发狂;rabies 来自词根-rab,发狂,特用于指狂犬病。

例词 glucose 音变自词根-dulc,甜,甜蜜,-ose,化学名词后缀,糖。

综合:

例词 red 来自词根-red,红色;ruby 来自该词根音变形式,用于指红宝石;rouge 来自该词根

音变形式,用于指胭脂。该词根同源词还包括 rubric,ruddy,rust,rustic.

2.10) j-y

j-y: junior 更小的,更年青的-young 年青的 major 主要的-mayor 市长

注解:

j-y:

10

例词 junior 音变形式于词根-yun,-yuven,小的,年青的,-or,比较级后缀;young 来自该词根

扩大形式。该词根同源词还包括 juvenile,rejuvenate.

例词 major 音变形式于词根-may,力量,权力,-or,比较级后缀;mayor 来自词根-may,力量,

权力,-or,人。该词根同源词还包括 may,might,mighty.

2.11) l

l-u: salt 盐-sauce 调味汁&souse 腌制 molasses 糖浆-mousse 蜜,奶油,定型摩斯

l-r: flair 嗅觉力,天资-fragrance 气味,芳香 plum 梅子-prune 梅子干

注解:

l-u:

字母 l 与字母 u 的音变多发生于法语,实质上为字母 l 软化成字母 u.

例词 salt 来自词根-sal,盐;sauce 来自该词根的音变软化形式,该词字面意思即以盐为主要配

料的调料;souse 即以盐为主要原料进行腌制。

例词 molasses 来自词根-mol,蜜,甜,-ass,名词后缀,用以指糖浆;mousse 来自该词根的音

变软化形式,用以指加蜜的奶油,后主要用于指发胶,定型摩斯,因其形如糖浆而得名。

l-r:

字母 l 和 r 同属流音字母,因而字母 l 和 r 的音变属于流音音变。

例词 flair 音变+缩写自词根-frag,-fragr,闻,嗅,原指狗敏锐的嗅觉力,后用于形容人的天资

和能力;fragrance 来自词根-frag,-fragr,闻,嗅,可能来自该词根的原始含义打破,破开,即

从破开的物体中散发出来的气味,-ance,名词后缀。

例词 plum 音变自 prune,在词义上 plum 用于指李子,梅子,prune 用于指李子干,梅子干。

2.12) m-n

m-b: melt 融化-bland 平和的,无味的 merry 欢乐的-brief 短暂的

m-n: home 家-haunt 家,萦绕 lamp 灯,电灯-lantern 灯笼

注解:

m-b:

例词 melt 来自词根-mel,磨,磨软;bland 来自该词根音变形式,-and,形容词后缀,字面意思

即软的,用于比喻义指平和的,无味的;其原始含义见 blandish,表动词,讨好,谄媚,

blandishment,表名词,讨好,谄媚。

例词 brief 来自词根-br,短的;merry 来自该词根音变形式,-y,形容词后缀,字面意思为短暂

的,后用于比喻义指欢乐的,取“欢乐总是短暂”之义。

m-n:

字母 m 和字母 n 同属鼻音字母,因而字母 m 和字母 n 的音变属于鼻音音变。

例词 haunt 来自 home 的鼻音音变形式,原指人死后鬼魂在屋子里萦绕不散,并引申诸相关

比喻义。

例词 lamp 来自词根-lam,发光,照明;lantern 来自该词根的鼻音音变形式,-ern,表相关,后

主要用于指灯笼。

2.13) s-h

s-h: same 一样的-homosexual 同性的 sweet 甜的-hedonist 享乐主义者

s-r: vest 衣服,背衣-wear 穿 east 东方的-aurora 晨光

s-z: glass 玻璃-glaze 装玻璃 grass 草-graze 吃草

注解:

11

s-h:

字母 s 和字母 h 的音变主要发生在原始印欧语字母 s 希腊语字母 h 之间。

例词 same 来自词根-sam,一;homosexua 来自词根-homo,一,来自该词根的音变形式,sexual,

性的,与性相关的。

例词 sweet 来自词根-suad,甜,蜜;hedonist 来自希腊语,来自词根-hedon,-hed,甜,蜜,-ist,

人,字母意思即在蜜罐里长大的人。该词根同源词还包括 persuade,dissuade 等。更多音变形

式参照 super-,hyper-,sub-,hypo-,seven,heptagon.

s-r:

字母 s 和 r 的音变又称字母 s 的 r 音化或流音化。

例词 vest 来自词根-vest,衣服;wear 来自该词的 r 音化形式。

例词 east 来自词根-eas,-east 发光,后用于指太阳升起的方向;aurora 来自拉丁语 Aurora,原

指古罗马神话中的晨光女神,来自词根-aur,发光,来自该词根的音变形式,-or,人,-a,拉丁

语阴性格后缀。该词根还包括同源词 Austria,奥地利,即南方的国家,Australia,澳大利亚,

即南半球的国家。

s-z:

例词 glass 来自词根-gl,发光,明亮,用于比喻义指玻璃;glaze 来自该词的音变形式。

例词 grass 来自词根-gr,生长,成长,用于比喻义指草;graze 来自该词的音变形式。该词还

包括同源词 create,crew,grow,green.

2.14) sp-f

sp-f: splint 碎木条,夹板-flint 隧石 spume 泡沫-foam 泡沫

注解:

sp-f:

例词 splint 来自词根-spl,分开;flint 来自该词的音变形式。该词同源词还包括 split,spill,spoil.

例词 spume 来自词根-sp,吐,喷吐,用于比喻义指泡沫;foam 来自该词的音变形式。该词还

包括同源词 spit,spittle,spittoon.

2.15) t

t-c: spatial 空间的-space 空间 fortify 加强-force 力量

t-f: throne 王位-firm 稳固的 theology 神学-festival 宗教节日

t-l: tongue 舌头-language 语言 tear 眼泪-lachrymose 流泪的

注解:

t-c:

例词 spatial 来自词根-spat,展开,空间,-ial,形容词后缀;space 来自该词根的音变形式。

例词 fortify 来自词根-fort,力量,-fy,使;force 来自该词根的音变形式。更多例词包括

grace,gratify,vice,vitiate.

t-f:

例词 throne 来自词根-tr,-thr,硬,坚固,来自词根-dur 的音变形式,-one,-oon,大词后缀,用于

比喻义指王位稳固,稳固的王位;firm 来自词根-dur 的音变形式。该词根同源词还包括

tree,true,truth,troth,during,endure,dharma.

例词 theology 来自词根-theo,神,-logy,学科;festival 来自词根-fest,神,引申词义祭祀,宗教

节日,来自该词根的音变形式。更多同源词包括 theist,theism,enthusiasm,enthusiast.

t-l:

例词 tongue 来自词根-tong,舌头;language 来自词根-lang,舌头,引申词义说话,语言,来自

12

该词根的音变形式,-age,名词后缀。该词根同源词还包括 linguist,bilingual.

2.16) v-w

v-w:virile 男人的-werewolf 狼人 vitreous 如水的,玻璃的-water 水

注解:

v-w:

字母 w 本身为两个字母 v 的合成词。

例词 virile 来自词根-vir,男人,-ile,形容词后缀;werewolf 来自词根-wer,人,男人,wolf,狼,

字面意思即人狼,用于指西方传说中在黑夜中化身为狼的人。该词根同源词还包括 virtue,

男人的品德,男人所需要具备的基本道德。

例词 vitreous 来自词根-vit,湿的,-er,表物,-ous,形容词后缀;water 来自词根-wat,湿的,-er,

表物。该词根同源词还包括 wet,otter,vitriol,vitriolic.