来看看程序员是怎么理解《你的名字》的

    enter image description here 最近,很多人的朋友圈被一个日本动漫电影给刷屏了,这不动漫就叫做《你的名字》。我也怀着无比好奇的心情看完了整部电影,觉得此片确实好看,引发了人们的各种思考,我遇到的是不是就是曾经时空交错过程中我所遇到那个人呢?我们是否就是这样的被命中注定?这样的想法太匪夷所思了,但是作为程序员,有没有想过《你的名字》如果用面向对象的程序来解释,会是一段什么样的诠释呢? 不如我们试着尝试一下吧!

    哈哈!要怎么开始呢?

    enter image description here

    首先,要分析这是一个什么样的过程呢?为什么会发生那样的事情呢?没错程序bug了,为什么会发生这样的bug呢?咱们先来搞清楚上帝或者某个神写的这段程序里面的各个对象是怎么定义的,很明显,时空这个对象被定义为了人这个对象的子对象,每个人拥有唯一的一个属于自己的子时空对象,而记忆又是属于这个时空的一个属性,这样,咱们就明白了,为什么男主角和女主角在时空错乱的时候能够暂时稳定的保存记忆,而恢复记忆的时候就会记忆消失了。

    enter image description here

    好了,现在开始解释,为什么会发生不过呢?没错,电影里交代的很清楚,是因为彗星,彗星的陨落是在上帝的程序中产生的一个相当占用内存的进程,导致了内存溢出,造成了男主角的实例化时空对象A和女主角的实例化时空对象B产生了交换,睡觉的过程中,由于两个对象的进程被挂起,部分内存被释放,于是早上醒来有时候是会恢复的,但是内存始终是在饱满的边缘,于是,有时候时空错乱,有时候又恢复,交替变化,这样反反复复好多次,两个本不会遇到的对象,通过一个bug遇到了一起,并存储了相互的信息,直到有一天,彗星撞击地球,那个引起bug的进程内存被释放了,于是,系统恢复正常,原来两人的记忆属性被瞬间格式化,但是由于存储记忆碎片的那段存储空间还没有被复写,所以,当两人重新相遇时,似曾相识的感觉就又重现了。

    哈哈,是不是感觉豁然开朗了很多?原来本书的作者也是一位程序员啊!没想到,万万没想到!你说要是真的有人把这一故事写成一段程序,后面会发生什么呢?

    转载请注明:加加笔记 » 来看看程序员是怎么理解《你的名字》的

    喜欢 2

还没有人抢沙发呢~