电影《禁闭岛》中的莱昂纳多,究竟是法警还精神病者?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了电影《禁闭岛》中的莱昂纳多,究竟是法警还精神病者?相关的知识,希望对你有一定的参考价值。

这么给你讲一下剧情吧。 看完你就全明白了
LEONARDO所扮演的男主角,曾经是一名参加过2战的战士,他曾经亲眼目睹过纳粹集中营中,对于犹太人的种种暴行,从他的回忆中可以看出来,并且他也目睹了纳粹集中营头领由于笨拙的自杀方式,导致在开枪自杀后并没有立即死去,电影中男主角看着濒死的纳粹头领在用尽一切办法想再次拿枪自刎时,选择了把手枪用脚挪开而让纳粹首领在自刎一个小时之后才死亡,并且当有一个纳粹俘虏由于紧张想要逃跑的时候,他所在的队伍毫不犹豫的将那些纳粹俘虏尽数击毙,他所经历的一切让他患上了所谓的战后精神综合症,这种症状表现为焦虑,不安,酗酒,等等,具体的可以自己去看看其他资料。
再继续回到电影。其实这部电影的拍摄手法和当年的《孤岛惊魂》(尼克.基德曼演的那部)一样。男主角其实是这个精神病院里患病最深的一个患者,因为他有着很明显的双重人格,也就是所谓的分裂的人格,这个人格分为两个部分,一个部分是Andrew Laeddis,就是防火烧了他家,熏死他妻子和孩子的那个人;另外一个是Teddy,也就是他幻想中的那个执法官。故事的起因是,他战后回到家乡,和自己的妻子结婚,并且有了几个孩子,而他由于有着强烈的战后精神上的表现,使得自己对于他的妻子,孩子虽然很在于,但是却疏于关心爱护,这直接使他们的婚姻生活并不如意,导致了他的妻子在长期服用药物的情况下精神失常,终于在某一日,她的妻子精神病爆发,亲手溺死了自己的几个孩子,而当他回家目睹这一幕的时候,由于过分的悲伤难过,在精神极度紧张,压力很大的情况下用手枪结束了自己妻子的命运,并防火烧了自己的房子。这一点从电影中就可以看出来,有一幕是他搂着自己的妻子,在满是烟尘的房间里,他妻子的腹部在流血,这足以说明他的妻子并不是被烟熏死,或者被火烧死,而是被他枪杀。
接下来,在这种精神状况下,主角出现了所谓的人格分裂,并且极度暴力。他的意识分为了两个部分,上文已经提过。他不断的站在自己善良的一面而寻找自己凶残的另一面,这样的精神状态使他自己很难分辨出来,到底什么是真相,自己所寻找的真相是什么,因为他活在了自己思维所创造出来的世界里。原因很简单,他无法接受自己的妻子死于自己的枪下。
接下来,他应该是被送往了精神病院接受治疗。我们知道,在80年代之前,治疗这类精神病的一般方式是利用药物和外科手术。药物一般无非是镇静剂之类,而外科手术则是前脑叶蛋白切除,这中外科手术一般目的在于让人失去记忆,失去直觉等等,简单来说就是成为一个傻子,没有痛苦,没有高兴,开心等一系列的感情意识(看过影片《飞跃疯人院》的朋友应该能了解,只是后来这种手术由于缺乏对于人的基本尊重而被废除了)。影片里所有的安委会(大概就这个意思了)成员一致认为应该让男主角进行这种手术,但是他的这家精神病医院的院长以及他的主治医师,也就是电影中男主角自己想象中的助手,来自于西雅图的那人,都极力反对,因为他们在尝试用另外一种办法治愈这种疾病,也就是角色带入法,role-play,也就是常说的角色扮演,他们希望创造一个男主角所臆想出的空间,时间,让男主角在这段幻想中逐渐情形,走出幻想,从而真正的意识到自己,于是,影片的第一幕开始了,也就是所谓的角色扮演治疗方式正式启动。
男主角的幻想中,他性格中邪恶的那一面的具体指代物---Andrew Laeddis,去到了在禁闭岛上的那家医院,而他又给自己找了一个很好的理由,就是溺死自己孩子的那个母亲从医院里跑了,这样,他人格中善良的那一个人,Teddy,联邦执法官,便有了去禁闭岛调查的理由。于是,他带着幻想中的助手chuck,其实就是他的主治医师(Lester Sheehm),一起来到了禁闭岛,而从他在船上时,晕船,不喝酒,就可以看出,他的潜意识里非常的惧怕水,因为他的孩子正是被自己的妻子溺死的,并且他不喝酒,因为正是由于酗酒导致的家庭生活不如意,这点从他一到家先喝酒就能看出来。来到小岛之后,小岛上的狱警们如林大敌,而男主角却对这点嗤之以鼻,因为他认为联邦法官的到来还不至于如此,其实,狱警们这正防范的其实不是正是主角本人,因为他本身是一个退役的战士,联邦调查局的侦探,经历过人格分裂之后已经成为一个极端暴力和危险的人物。而进入医院大门之前,有一个缴枪的情节,可以看出,主角卸枪的熟练程度和他的助手是截然不同的,因为那人并不是什么可配枪的执法官,而是一名医生而已,而这个所谓的穿帮让他的“助手”用自己只是文职人员所掩饰过去了。
当男主角在医院内进行自己臆想中的所谓“调查”的时候,他发现,那个溺死自己孩子的母亲“瑞秋”不见了,而在床底下留了一张纸条,上面写的是,根据第四条规则,谁是第67号病人。其实这正是男主角在自己潜意识里追寻的目标,到底第67号病人是谁。其实答案很简单,正是他自己本人,这一点在后来他的“助手”在悬崖边给他一张入院档案的纸上可以看出来,他的医生希望他自己能够清醒的意识到这一点,只是男主角自己并不承认罢了。关于第四条规则,后来电影中在灯塔那里,医院的那个光头院长也给他讲述了,其实那些名字都是从他名字和他妻子的名字中重新排列字母组合而成的。电影中失踪的瑞秋,其实就是照顾他的护士,后来从他在床上躺着,而那个护士则在一边端着药盘可以看出来。
之后男主角在他的世界里进行了一系列的“调查”,首先是那个用玻璃把给自己父亲看病的护士脸划破的人开始,他问那个病人是否认Andrew Laeddis的时候,那名病人显得非常害怕,紧张,不敢说话,其实那个病人是认识男主角的,也深知他的暴力程度,可是男主角却知道对方不能忍受那种用尖的物体摩擦东西的声音,却故意用笔在纸上摩擦以发出声响来激怒,恐吓对方,由此可见男主角的恐怖程度,这样的结果使得后者在极大的愤怒和恐惧之下说出了那个把自己的孩子溺死的人,应该受到极刑,甚至应该被毒气毒死,而这句话深深的刺激了男主角的潜意识,应该说也是一个让他治愈的一个开始吧。
而后他“审问”的是一个典型的大妈,那个大妈可能是精神病院里,除了医生护士警卫之外精神最正常的一个人了,她只是不堪忍受家庭暴力而亲手结束了自己丈夫的姓名。她告诉男主角,那个所谓的瑞秋把医院里的每一个人病人都想象成了自己的邻居,赋予他们社会的角色,这正是想让男主句意识到其实他本人就是如此,但是当男主角把Andrew Laeddis是谁这个同样的问题抛给她时,善良的大妈知道他已经没救了,估计要被进行那种切除脑叶的外科手术时,支走了他的主治医师,在纸上给他写了一个字母“RUN”,意思让他赶紧从医院里跑出去,因为不久之后他会变成一个傻子,什么都不知道。
再后来影片还有一个情节,男主角要求医院开一个什么会,讨论关于走失的瑞秋以及她本人因为放假而回家的主治医师的什么事,结果当他紧张的进来时,发现大家似乎却并没有太在意,他很生气,询问这是为什么,而大家却都觉得可笑,现在想来确实如此,一帮正常人在讨论一件没有的事,没有走失的瑞秋,而所谓瑞秋的医生其实就是他的助手,而男主角却在那里煞有介事,是一件多么可笑的事啊。
剧情接着发展。男主角让医院的警卫们去海边寻找瑞秋,结果那帮狱警为了配合他不得不去寻找,当他提及为什么不去灯塔那边的山上也搜寻时,警卫们的回答是那里的路不好走,而且马上要来暴风雨了,改日再说。而之后的电影给我们阐述的确实,他仅仅一个人,在没有借助任何登山工具的情况下就可以轻而易举的爬下岩石,并且还找到了一个因为不满医院对病人实施外科手术而逃跑的女医生的时候,就可以知道,去那里根本不费什么力气,只是警卫们认为他所幻想的一切都是假的,根本就没有瑞秋,去那里能找到什么呢。
之后,“瑞秋”找到了,她其实是一名护士,在和男主角的谈话中,不断的提及溺死的孩子,亲手杀死自己的配偶,并不断的询问他“你是谁”,就是想通过这些刺激让主角认识自己,可是依旧,没有成功。之后,男主角的医生,也就是他的助手,只有通过另外一个手段,就是让他进入他思想中所谓的“C区”,他们安排了一个假停电的情节,让C区如入无人之境,而让他相信医院能够停电的情节在之前他要求医院开集体大会的时候,那些人已经透露给他了。而后,他和他的医生来到了所谓的C区,C区是一个看管有着重度精神病患,而且极其危险的病人的地方。来到C区,医生们首先安排了一个病人,对他进行心里暗示,那个病人告诉他,他不愿意离开这里是因为他已经在这里太久,而不愿意去接受外部世界,他不知道什么是氢弹等等。。。目的就在于让他意识到自己一直生活在自己的世界里,从而与世隔绝,和上面的情况一样,没有效果。后来,医生借故离开他,让他自己去找那个叫George Noyce,就是他所说的大学生,试想一下,如果不是George Noyce自己告诉男主角自己放火什么的事,他又怎么能从外界得知呢。后来男主角轻易的就找到了后者,其实原因很简单,因为男主角也是生活在C区的一个患者,并且是最重度,最危险的那一个。男主角和他的谈话也是围绕这Andrew Laeddis是谁而展开的,后者一直在暗示他其实那人就是他自己,告诉他其实这一切只是一个针对他的游戏,他只不过是迷宫里的白鼠,除非他意识到事情的真相,真正放下自己妻子溺死孩子,他杀害妻子的这个事,否则他将永远离不开这里,也就是永远无法从自己的世界里走出来。他之后问及Andrew Laeddis到底是谁的时候,后者也似乎指明了就是他,而且他脸上的那些伤也是拜主角所赐,因为后者曾当面指明过他就是自己所苦苦追寻的Andrew Laeddis,结果是主角不信,反而给他了一顿痛打。这一招失败以后,后者只能把最后的一切线索指向了主角心目中的“灯塔”。
尾声。主角在灯塔里,男主角见到了他的“助手”和院长,二人最大程度的向他讲明了事实的真相,包括那些字母的组合,那些照片的来历以及他的真实经历。主角在这种情况下,变得怒不可亵,甚至准备开枪将二人打死,可是却发现,其实他的那把枪不过是一个玩具而已。。。。。。还有一个细节,就是所谓的那种非常BT的手术室,却只有区区一个警卫,并且警卫在缴械之后还问他“你该不会杀了我吧”。
结局。一觉醒来,在自己所幻想的世界里走了一遭的男主角,终于清醒的认识到了自己究竟是谁,事实的真相到底是什么,而我们也从他的口中听到了自己对于真实世界的认知。这一切的一切仿佛已经说明他已经在这种治疗的方法下完全康复了。可是,结局的意外却将这个影片推向了高潮。在第二天的清晨,他的主治医师,也就是他的助手,坐在他的身旁,却意外的听见主角仍旧叫他查克,仍旧跟他讨论计划逃离这个岛的事,在医生和院长眼神的交汇中,可以看出,医生认为主角的意识还是不清醒的,他们的计划应该是失败了。这个所谓的计划,院长说过,就是于病人进行沟通,试着去听他们说话,试着于他们进行交流,从而帮助他们走出自己的阴影,而不必接受外科手术。可是主角的这几句话,让他们彻底失望,从而不得不接受让他进行外科手术的方案。而后,男主角站起来,慢慢的走向将要带走他的几个警卫和医院工作人员的时候,说了一句意味深长的话,“Which would be worse?To live as a monster...or to die as a good man.”“哪一样更差些呢?是像个怪物一样活着,还是像个人一样死去”。当他的医生听见这句话的时候,其实知道了主角的病已经完全康复了,只是,男主角自己接受不了这样的现实,他宁愿生活在自己的世界里,宁愿在自己的世界里死亡也不愿意背负这那样沉重的思想负担而生活着。因此他选择进行外科手术,去除掉自己的记忆,思维,感官,意识,因为康复前的他不愿意去面对,而康复之后的他却无法面对,而他的医生,则是默默的,尊重了他的选择。
全剧终。
其实,影片的一些思想,观点是很发人深思的。当主角最清醒的时候,其实也正是他自己最悲伤的时候,自己的妻子杀死了自己的孩子,进而自己又亲手结束了爱妻的生命,这样的结局,需要去承担,会对人造成多大的心里伤害呢。到底是选择在外界面对着这样的悲剧,痛苦的或者,还是在禁闭岛里,麻痹着自己,失去自我的活着。到底是做一个杀人凶手Andrew Laeddis,还是做一个善良的联邦法官Teddy,我想,主角做出了自己的选择。
有的时候,人能够忘记过去,忘记一些很难忘记的事情,其实是一种幸福,既然如此,为什么人还要回到悲剧的原点而重新开始呢!
参考技术A 其实电影开始到结束都是要给观众一个谜题,不同的人会有不同的答案,这也正是电影的迷人之处,仔细想想,拍一部导演都没有明确结局的电影后,让观众展开激烈的讨论,并激烈的深思,使这个电影的情节惯性一直衍生到下一个观众,这个直接助电影登上“经典”的舞台。 所以我认为有如下俩个版的结局(没有谁对谁错):第一个:一切都是假想,67号就是他自己,一切都是他的幻觉,泰自己杀了妻子,因为他的妻子好象有精神方面疾病,貌似抑郁一类的,一天泰回家后发现妻子精神失常,淹死了自己的3个孩子,泰悲痛不已,开枪打死了自己的妻子,神志也从此失常,总是把自己幻想为安全官,到岛上调查案情,其实他的搭档(就是老发烟给他抽那位)就是他的主治医师,之所以扮作他的助手就是要引导他一步步找回失落的记忆,影片的最后,泰终于明白一切,是自己杀死了妻子。但是第二天,当他坐在石台上似乎又回到过去峰巅的状态,安德鲁直呼他的主治医生partner,并且说他们要逃出这个小岛继续调查之类的话。
主治医生自然以为他并没有恢复正常,并决定为他实行“极刑”!其实这结局要看安德鲁最后的一句话:live as a monster or die as a good man.
像一个野兽一样活着,还是像一个好人一样死去。。。这说明,安德鲁恢复了记忆,但是他不想苟活于世。他失去了一切:没有了家庭,没有了爱,留下的只有无限的痛苦。像行尸走肉一样苟且于世,还是留在他自己臆想中,作为一个探索真相与正义的调查官而死去?显然,他选择了后者。。。 第二次种:楼上的转帖哥已经回答的很明确了,本人很同意转帖的第五点和第十五,最后还要加一个:就算是整个过程都是主人公的幻想还是很“人性”的治疗,也不应该出现在开头有俩个人坐船的画面{其实本人更同意这第二个观点}
参考技术B 《禁闭岛》中莱昂纳多扮演的男主角是个精神病患者,他本来是可以治好病的,但是他不愿意面对3个孩子被妻子杀死而自己又杀了妻子的这种悲惨命运而选择继续活在自己想象的世界中当一名法警 参考技术C 是精神病者啦 参考技术D 是精神病患者

究竟是什么可以比反射还快实现动态调用?| Source Generators版

前言

最近在公众号上看到一篇文章《究竟是什么可以比反射还快实现动态调用?》,它使用的是Newbe.ObjectVisitor,基于C#表达式树访问一个普通class的所有属性和对应的值,可以拥有比直接使用反射快上10倍的性能。

就这一需求来说,我认为Source Generators应该会更快,因为访问代码在编译时而不是运行时就生成了。

事实也验证了确实如此:

实现

这次我们使用第三方开发的Source Generators类库来实现。

1.引用Nuget包

创建示例控制台程序,引用如下Nuget包:

AOPMethodsCommon
AOPMethodsGenerator

2.设置Attribute

在需要动态调用的类上声明Attribute:

[AutoMethods(template = TemplateMethod.CustomTemplateFile, CustomTemplateFileName = "template.txt")]
public class Yueluo

3.代码模板

添加template.txt,用在Source Generators生成动态调用代码的模板.

内容如下:

using System;
using System.Collections.Generic;
using System.CodeDom.Compiler;
using System.Runtime.CompilerServices;
namespace {{NamespaceName}} {
    public static class {{ClassName}}Extentions{

        public static string ValueStringProperty(this {{ClassName}} obj, string val){
            {{~ for mi in Properties ~}}
                {{~ if( mi.ReturnType  == "string" ) ~}}
                    if(string.Compare("{{mi.Name}}",val,StringComparison.CurrentCultureIgnoreCase)==0) {
                        return obj.{{mi.Name}};
                    }
                {{~ end ~}}
            {{~ end ~}}
            throw new ArgumentException("cannot find "+ val);
        }

        public static int ValueIntProperty(this {{ClassName}} obj, string val){
            {{~ for mi in Properties ~}}
                {{~ if( mi.ReturnType  == "int" ) ~}}
                    if(string.Compare("{{mi.Name}}",val,StringComparison.CurrentCultureIgnoreCase)==0) {
                        return obj.{{mi.Name}};
                    }
                {{~ end ~}}
            {{~ end ~}}
            throw new ArgumentException("cannot find "+ val);
        }

        public static object ValueProperty(this {{ClassName}} obj, string val){
            {{~ for mi in Properties ~}}
                if(string.Compare("{{mi.Name}}",val,StringComparison.CurrentCultureIgnoreCase)==0) {
                    return obj.{{mi.Name}};
                }
            {{~ end ~}}
            throw new ArgumentException("cannot find "+ val);
        }

    }
}

模板使用了scriban进行解析,具体语法详见:https://github.com/scriban/scriban/blob/master/doc/language.md

ValueStringProperty方法举例来说:

public static string ValueStringProperty(this {{ClassName}} obj, string val){
    {{~ for mi in Properties ~}}
        {{~ if( mi.ReturnType  == "string" ) ~}}
            if(string.Compare("{{mi.Name}}",val,StringComparison.CurrentCultureIgnoreCase)==0) {
                return obj.{{mi.Name}};
            }
        {{~ end ~}}
    {{~ end ~}}
    throw new ArgumentException("cannot find "+ val);
}

遍历类的所有属性(Properties),判断当前属性返回类型(mi.ReturnType)是string,则返回对应属性名的值。

4.使用

下面是Benchmark测试代码,分别使用了Newbe.ObjectVisitorSource Generators

[Benchmark]
public string GetterString()
    => ValueGetter<Yueluo, string, string>.GetGetter(_nameProperty).Invoke(_yueluo);

[Benchmark]
public int GetterInt()
    => ValueGetter<Yueluo, int, int>.GetGetter(_ageProperty).Invoke(_yueluo);

[Benchmark]
public string GetterString2()
{ 
    return _yueluo.ValueStringProperty("Name"); 
}

[Benchmark]
public int GetterInt2()
{
    return  _yueluo.ValueIntProperty("Age");
}

可以看到,Source Generators生成的代码可读性更高。

结论

对于编译时可生成的功能,尽量使用Source Generators实现,可以达到更好的性能和可读性。

如果你觉得这篇文章对你有所启发,请关注我的个人公众号”My IO“

以上是关于电影《禁闭岛》中的莱昂纳多,究竟是法警还精神病者?的主要内容,如果未能解决你的问题,请参考以下文章

黑客帝国:梦中没有错与对 梦中有安也有危

2019目录之电影

占有统治地位的Transformer究竟是什么

bind_param() 中的第一个参数究竟是做啥的?

小李子(莱昂纳多-迪卡普里奥)

《邪不压正》里面究竟谁是真正的隐侠,蓝青峰究竟是正是邪?