Redian新闻
>
经常看到一些名词:invariant, covariant, immutable
avatar
经常看到一些名词:invariant, covariant, immutable# Programming - 葵花宝典
a*e
1
不知道DHS的看了会不会更要延长审核过程。。。。
avatar
c*g
2
假如生活欺骗了你,我看到第七集了,这丫头太让人心疼了,轻松说句话就让人心颤啊
avatar
H*I
3
凝气成丹还不久的道士通常都有一位引路人与护持者,这个人不是师父,他
不能传授什么,只是答疑解惑、指点路径、防止入魔,有人像兰奇章一样负责,甚至替
新弟子守门,也有一些人敷衍了事,毕竟修行是个人的事情,太多的帮助反而不好。
对念心科唯一的弟子慕行秋来说,类似的角色由林飒担任。
念心科中断多年,修炼法门大都被毁,林飒只记得这一科不好的方面,所以没办法
给予具体的指点,只能就修行过程中所有人都要注意的问题做出提醒。
“情与欲,永远都是修行路上最大的障碍。”壮硕的林飒通常以这句话开头,神情
严肃,道袍微颤,即使是说起魔种的时候都没这么正式,“说到底,内丹是个自私的玩
意儿,它的力量太强大,所以要求拥有者只能想着它,全心全意地保护它。”
“用初代三祖的话来说,道士的一生都在追求自我圆满,情与欲却总会让你的自我
上面产生缺口。”
林飒是餐霞道士,离大圆满还差得远,因为有伤在身,修行停滞数年,心中难免怅
然,说着说着就会无声地叹一口气,待到发现这会对慕行秋带来不好影响时,又急忙露
出微笑,“没有具体的事情可以说,咱们就打比喻吧。爱财之人将金银珠宝看得比自己
还重要,内丹不喜欢;心怀仇恨之人,时刻惦记着仇人,内丹也不喜欢;即使是那些自
怜自爱的人,内丹也不喜欢。爱恨情仇、七情六欲皆有对象,都会令自我缺少,不得圆
满,这其中,情劫是影响最大的一种。”
“爱一个人是什么感觉?”林飒脸上的神情既困惑又向往。“我打算到吞烟境界之
后再结凡缘,最好像左流英一样,根本不需要度情劫。再瞧你们,一群吸气境界的小道
士,居然开始大言不惭地谈论凡缘、道缘了,把自己当成没有内丹的普通人了吗?”
林飒半开玩笑半严厉的表情出现在慕行秋的脑海中,记忆如此清晰而真切,似乎伸
手就能触碰到那只高高鼓起的肚皮。
慕行秋的道火淬丹出了问题,他成功地升到了五重,顺利到达六重。在向七重冲刺
的时候,静如止水的心境却出现一丝波动:水面上出现了芳芳的容貌,微微一笑,还像
小时候一样习惯性地抬手遮嘴。
就是这样一个再简单不过的波动,芳芳的影像甚至没有过多停留,笑容还在脸上,
人就已经消失不见,慕行秋的心却慌乱了,一丝波动引发另一丝波动。一生二、二生四
……波动越来越强烈,最后掀起了巨浪,他再想恢复最初的平静状态,已不可能。
道火溢出了下丹田。只是一点,却在瞬间蹿遍了全身经脉,令他倍感灼热、肌肤欲
裂,脸色红如烧炭。
林飒的形象就是这时候出现的。面貌逐渐清晰,声音一字比一字响亮,慢慢地竟如
雷鸣一般。
“如果书上说得没错。爱一个人就是将对方看得比自己还要重要,这是修行大忌中
的大忌,你将自我丢失了,内丹又怎么会留在你的体内呢?小心啊小心,我瞧你在情劫
上早晚要摔一次大跟头,希望你能经受得住,还能爬得起来。”
慕行秋想起他当时问过的一句话,“这样说来,道士们修行到最后岂不是变得无情
无义无欲无求,跟死人有什么区别?”
“呵呵,所以最高的服日芒境界才难以达到嘛,就算是最厉害的道士,心里也总会
剩余一点情与欲,哪怕只是一点,也无法攀至巅峰。最要命的是,如果你真的达到无情
无义无欲无求的状态,这仍然是一劫——空劫。物极必反,圆满为空,度不过此劫,你
不过是一个既古怪又厉害的道士,仍然无法取得服日芒道果。左流英可能正在朝这个方
向发展。”
空劫离慕行秋还是一个十分遥远的威胁,他甚至无法透彻理解其中的含义,事实上
,他现在所经历的连情劫都算不上,只是一次小小的波动,像一次预演,所以兰奇章能
够提供帮助,施法将他解救出来。
在经脉中乱蹿的道火重新回到下丹田,继续淬炼内丹,慕行秋肌肤上的红色渐渐消
失,心境界终于恢复平静。
兰奇章收起法器,却没有走,他知道慕行秋的道火淬丹即将结束,这种事情一旦中
断就再也无法继续了,慕行秋的潜力本可以一步达到吸气七重的,现在大概只能达到五
重、六重的样子。
时间比他预计得稍长了一点,又过了足足两刻钟,慕行秋才睁开双眼,有些茫然地
看着兰奇章,好像根本不知道他的到来。
慕行秋刚刚经历了一段奇特的感觉,他还没有完全明白这是怎么回事。
兰奇章更不会知道,他微微叹了口气,脸上显出微笑,“你明白了吧?真正的情劫
比你刚才的状况要痛苦百倍,这就是你给秦凌霜带来的麻烦。你是一道障碍,但你也是
道士,而且比一般道士要坚强,所以只能由你做出选择。秦凌霜已经深陷其中,必须由
你将她救出来。”
看样子兰奇章还有长篇大论要说,慕行秋下床穿上鞋子,走到吞烟道士面前,两眼
一眨不眨地盯着他看。距离太近了,只有不到三尺,对道士来说,这个距离尤其令人不
快。
兰奇章身子微微后仰,“你听到我说的话了吗……你做什么?”他的声音突然变得
严厉,随手召出一只铜铃,与此同时向右侧跳出一大步,神情少有地恼怒,“你……”
铃声杂乱,慕行秋退后三步,如梦初醒,“对不起,现在没事了。”
慕行秋刚才试图操控兰奇章的情绪,差一点就成功了,连他自己也惊愕不已。
“你有点奇怪。”兰奇章打量着慕行秋,“你刚刚经历了一次假情劫,修行从七重
降到了……五重,告诉我。你看见了什么?”
慕行秋又露出古怪的神色,回想起自己刚才的体验。
溢出的道火回到下丹田之后,他的心境慢慢恢复平静,可奇怪的是芳芳的容貌又出
现了,而且比第一次还要清晰,脸上表情不停变换,活泼异常,与她平时的性格不太相
符。
慕行秋看着她,心境却没有再次发生波动,反而更加平和。原来心境像是一泓寒潭
,现在却渐渐增加了一些暖意,他觉得很舒服,舒服得甚至忽略了下丹田的灼热。
心境之湖蒸汽升腾,芳芳的容貌却不受影响,仍然那么清晰,她在说话却没有声音
,她在欢笑、脸红、佯怒,他却不知所为何因。
下丹田的道火正在冷却。慕行秋猛然惊醒,他对芳芳幻象的依恋太过分了,已经超
出了修行的界限,急忙收束心神。退出存想状态,检查内丹的状态,心中先是一凉,他
曾经一度到达过吸气七重。现在居然又退回到五重,若不是清醒得早,很可能还会继续
后退。道火婴儿丹的功效险些全都浪费。
可一会之后,慕行秋又有了新感觉,屋子里有什么东西在飘动,看不见、摸不着,
他却敢肯定一定存在。连想都没想,慕行秋运行率兽九变的心法,走向那东西的来源,
试图将它握在手里。
兰奇章的铃声像一面坚硬的盾牌,将慕行秋挡住,他后退几步,突然明白过来,那
个无形的东西原来就是兰奇章的情绪。
因为心境散乱,他失去了将内丹升到吸气七重的机会,因为一时情动,他的念心幻
术却达到了幻境第二层。
在幻境第一层,他只能感受到那些极端而宏大的情绪,人数越多越好,可这一次,
他感受到的是一种尚且含糊不明的情绪,而且来自于一名道士。
慕行秋第一次体验幻境第二层,自己甚至没明白是怎么回事,直到被兰奇章阻挡,
他才明白真相。
那种感受消失了,兰奇章怀有戒心,将自己保护得很好,慕行秋再没有办法突破,
幻境第二层无法撼动吞烟道士。
慕行秋心中仍是一片茫然,不明白自己为何这么快就达到了幻境第二层,这是丹药
的功效,还是自己积累已久的修行终于暴发?
兰奇章看到的却只是一名行为古怪的道士,“你听到我说话了吗?”
慕行秋点点头,虽然一直经历种种异象,他还是能听进兰奇章的话,只是当时没有
仔细思量,现在他全都想起来了,“谢谢你的提醒,你已经说得很清楚了,我和芳芳能
解决这件事,绝不会坠入魔途。”
兰奇章知道自己没什么可说的了,走向门口,突然止步问:“你刚才用的是念心幻
术?”
“是。”
“可你不会做念心科的那种事情吧?”
念心传人用频繁结缘的方式提升实力,慕行秋原来只当成奇闻,现在却隐约明白了
其中的道理,“你很勇敢,也很善良,是我敬仰的人,可是——你不应该想这么多。”
施展碎丹之术时不能有一丝犹豫,兰奇章当然明白这个道理,他再次微笑,“我就
是因为不愿再想,才来对你说这些话,到此为止,我不会再说了,你是一个……奇怪的
道士,但你绝不会伤害秦凌霜。她值得整个庞山道统保护。”
“我会一直记得你的话。”慕行秋对兰奇章的最后一丝恼恨也消失了,将死之人总
有一些特权,他实在不应该苛求,更不应该表现生硬,“我不会伤害她。”
兰奇章退出房间,“道火不熄。”
“道火不熄。”慕行秋觉得念心科燃烧的或许是另一种道火。
avatar
b*h
4
感觉这些概念是编程课里某个重要Topic里的
有什么书可以系统学习这些概念的, 最好是Java的书,
谢谢
avatar
g*n
5
英文烂不烂其次,人品太烂
avatar
n*2
6
这个演员挺有气质的
avatar
a*o
7
慕大仙是不是以后神仙凡人妖魔鬼怪都能遥控啊,哈哈。
avatar
g*t
8
都是洗脑用的商品。

【在 b**********h 的大作中提到】
: 感觉这些概念是编程课里某个重要Topic里的
: 有什么书可以系统学习这些概念的, 最好是Java的书,
: 谢谢

avatar
D*o
10
适合去宣传部啊

【在 a*o 的大作中提到】
: 慕大仙是不是以后神仙凡人妖魔鬼怪都能遥控啊,哈哈。
avatar
c*e
11
immutable就是这个值不能变。

【在 b**********h 的大作中提到】
: 感觉这些概念是编程课里某个重要Topic里的
: 有什么书可以系统学习这些概念的, 最好是Java的书,
: 谢谢

avatar
n*s
12
Ohio State product.
avatar
a*i
13
see below:
For example, with the function type
A -> B // functional notation
public B meth(A arg) // how this looks in Java
we have the following:
Let C be a subtype of A, and D be a subtype of B. Then the following is
valid:
B b = meth(new C()); // B >= B, C < A
Object o = meth(new C()); // Object > B, C < A
but the follwoing are invalid:
D d = meth(new A()); // because D < B
B b = meth(new Object()); // because Object > A
hence, to check whether a call of meth is valid, we must check
The expected return type is a supertype of the declared return type.
The actual argument type is a subtype of the declared argument type.
This is all well known and intuitive. By convention we say that the return
type of a function is covariant, and the argument type of a method is
contravariant.
With parameterized types, like List, we have it that the argument type is
invariant in languages like Java, where we have mutability. We can't say
that a list of C's is a list of A's, because, if it were so, we could store
an A in a list of Cs, much to the surprise of the caller, who assumes only
Cs in the list. However, in languages where values are immutable, like
Haskell, this is not a problem. Because the data we pass to functions cannot
be mutated, a list of C actually is a list of A if C is a subtype of A. (
Note that Haskell has no real subtyping, but has instead the related notion
of "more/less polymorphic" types.)
avatar
S*r
14
How did you find it out?

【在 n***s 的大作中提到】
: Ohio State product.
avatar
n*w
15
Java应该不支持covariance?除了c#, 主流的还有哪个?

【在 a******i 的大作中提到】
: see below:
: For example, with the function type
: A -> B // functional notation
: public B meth(A arg) // how this looks in Java
: we have the following:
: Let C be a subtype of A, and D be a subtype of B. Then the following is
: valid:
: B b = meth(new C()); // B >= B, C < A
: Object o = meth(new C()); // Object > B, C < A
: but the follwoing are invalid:

avatar
n*s
16
His IP shows it's from Columbia, Ohio. OSU town. A postdoc there.

【在 S*******r 的大作中提到】
: How did you find it out?
avatar
T*x
17
这个道理我还是没明白:如果C是A的subtype,为什么在Java中,list of C里不能存一
个type A的object,而在haskell里就可以。

【在 a******i 的大作中提到】
: see below:
: For example, with the function type
: A -> B // functional notation
: public B meth(A arg) // how this looks in Java
: we have the following:
: Let C be a subtype of A, and D be a subtype of B. Then the following is
: valid:
: B b = meth(new C()); // B >= B, C < A
: Object o = meth(new C()); // Object > B, C < A
: but the follwoing are invalid:

avatar
A*g
18
人肉出来了没

【在 n***s 的大作中提到】
: His IP shows it's from Columbia, Ohio. OSU town. A postdoc there.
avatar
n*w
19
Java的list中又进又出。haskell只出

【在 T*******x 的大作中提到】
: 这个道理我还是没明白:如果C是A的subtype,为什么在Java中,list of C里不能存一
: 个type A的object,而在haskell里就可以。

avatar
n*s
20
nah. I have better things to do.

【在 A**********g 的大作中提到】
: 人肉出来了没
avatar
T*x
21
那为什么只出就可以呢?

【在 n*w 的大作中提到】
: Java的list中又进又出。haskell只出
avatar
n*w
22
这样的话就是sub type关系了。

【在 T*******x 的大作中提到】
: 那为什么只出就可以呢?
avatar
T*x
23
list(C) 是 list(A) 的 sub type?

这样的话就是sub type关系了。

【在 n*w 的大作中提到】
: 这样的话就是sub type关系了。
avatar
n*w
24
yes, 反直观的是contravariant.

【在 T*******x 的大作中提到】
: list(C) 是 list(A) 的 sub type?
:
: 这样的话就是sub type关系了。

avatar
T*x
25
谢谢。这个地方我还是没想明白,但是我不知道该问什么问题好了。

【在 n*w 的大作中提到】
: yes, 反直观的是contravariant.
avatar
h*c
26
看过一个讲座,忘了,
我理解covariant是change the ceiling,contravariante是有一个floor.
实际中没用过,不过JEE里好多吗喜欢这么用。
avatar
n*w
27
想到一个contravariant解释,假如有一个function eat,接受一个参数,类型为鱼。
那么吃动物应该是其子类。大吃一鲸不是。
avatar
l*t
28
这是oo继承固有的问题。fp没这个问题。fp的category是mixin的。
相关阅读
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。