Ruby中的一个编程谋杀魔法

2021-03-16 05:14:35

“那么你怎么看待这种情况?”当他坐在他磨损的椅子上时,督察Hisham哼了一声。虽然他努力穿着条纹衬衫隐藏它,但督察是一个中年男子,虽然努力穿着裙子戴着条纹衬衫。

他的同事,军士李摇了摇他的秃头。通过设计,他总是告诉自己,完成大自然停止手的工作,而不是愚蠢地保持头发的簇。军士李比他的伴侣略高,但形状并不好。

“看起来像一个艰难的,”警长李混乱了。电脑不是他的事情,谋杀了与隐秘信息的计算机科学教授决定不是他的习惯杯Teh-o。刀挥舞着歹徒,杀气女仆和狡猾的康顿他可以处理,但所有这些电脑的东西让他感到厌倦,不舒服地意识到他的年龄。

“好吧,它可能是小犯罪,”当他啜饮他的Teh-o时,开始军士李跛了。他知道这是一个糟糕的答案。 Inspector Hisham哼了一声,“一定是一个疯狂而愚蠢的小偷,只是带走了他的笔记本电脑,而不是他的钱包里的钱,或者他房间里的任何其他贵重物品。”

“他的研究生Daniel Tan怎么样?”提供军士李。 “可能是一个不满的学生刺伤他的监督教授的案例?毕竟,教授写道,“P不是NP”的东西。“

督察Hisham瞥了一眼他的朋友和同事接近30年。 “那个男孩比我们告诉他他的教授被谋杀了!”

“不,”督察HISHAM很多。 “我猜它可能会与失踪的笔记本电脑有关。房间被匆忙被淹没,但除了笔记本电脑之外还没有别的东西,也许是一些CD。有一些不仅仅是小盗窃。“

警长李点点头。这是他的提示和他们通常的常规。多年来,他们是二十多年的合作伙伴。他会给所有可能的甚至不可能的答案,而HISHAM会一次将其击倒,直到​​展示。

“好吧,我们在安全的安全上恢复了他的备份盘,”警长李有条不紊地说。 “来自计算机取证的David Ho应该能够在他的电脑中恢复文档,我们将了解更多。”

“然后,这是”P不是NP'的东西,“悲伤的检查员HISHAM。 “什么是p,为什么不是np?他想告诉我们什么?不能刚刚告诉我们他的杀手姓名或其他东西?“

当门口有敲门时,军士李即将回复。一个脆弱的年轻男子,穿着脆的长袖白衬衫,也许在他晚期的二十年代或三十年代早些时候在敞开的门附近站起来。他在他身边抱着一台笔记本电脑,等待着对他的存在感谢。督察Hisham将他挥手进入他的房间。

“是的,大卫?”他期待着。 “那么你对我们有什么?”

“先生,”争辩地开始了大卫。 “抱歉,但我过夜了你的最后一句话。 'P不是NP'是计算机科学中的主要未解决的数学问题,是你和教授的洲际议员找到了什么?“

“未解决的数学问题?”盯着督察Hisham令人难以置信。 “他正试图在他去世前做数学问题?”

“这就是他在学生论文中写道的,”警长李解释道。 “他在他去世之前在他的血液中写下了它。”

大卫的皱眉了一会儿,最后他的眼睛加宽了。 “也许这就是让他被杀的是什么?”

“什么?”嘲笑督察Hisham。 “解决数学问题让某人生气,想要杀死他?如果是这种情况,我们将在任何地方有几十个死亡的数学教师。“

“嗯,那么其他问题没有附加百万美元的奖品。”

Inspector Hisham和Sergeant Lee坐了起来,两人都盯着大卫,好像他在背上突然发芽翅膀,漂浮在天空中。 “说什么?”

“P不是NP'问题是七千年奖项的问题之一,”大卫解释道。 “美国的粘土数学研究所提供一百万美元来解决这些问题中的每一个问题。”

督察Hisham仔细划伤了他的胡须。 “也许我应该在学校期间更多地关注数学,”他互相嘀咕着。他从来没有像算术一样思考大量数学,尤其是他的个人沮丧,特别是在试图教他十几岁的儿子作业时。

“好吧,它看起来像谋杀的动力足够,”警长李说,声音他们的想法。 “谢谢那个大卫。那么你还有什么对我们有什么?“

“啊是的,”开始大卫,放置笔记本电脑,他在检查员Hisham的桌子上持有清晰度,并将其翻开。 “我们已从备份硬盘中恢复了他的数据。它很容易,他只是使用碳拷贝克隆,并定期克隆他的硬盘 - “

“饶了我们血腥细节”,又嘀咕了督察Hisham。 “告诉我们你有什么。”

“对,”大卫匆匆忙忙地。 “我们对在他被谋杀之前修改的文件和任何可疑的文件进行了标准检查。”

“什么都没有,”大卫回答。 “而且没有”P不是NP“解决方案,”他补充道。

“不,”大卫强调摇了摇头。 “我在他的硬盘中找到了一个相当不寻常的文件。”

“出色地?”警长李被激怒了。使用这些IT类型有时会测试他的耐心。 “对他们来说太不寻常了什么?”

Warning: Can only detect less than 5000 characters

“是的,”点点头。 “这就是所有人。你觉得怎么样?”

“是的,”延续的军士李并靠近。 “为什么你认为法律教授正试图按时打电话给你?按时做某事?“

“我根本不知道,”她慢慢地说,摇头。 “我们没有关闭或任何东西。他是朋友,但我们只通过Ruby集团互相认识。他以前从未像我一样叫我。“

督察Hisham叹了口气,坐了回来。他知道红宝石不是撒谎,多年来一位警察给了他足够的本能来告诉某人。所以回到一个方形。

“但嗯,”红宝石再次皱起眉头。 “这是有趣的。我有一个想法,但你能告诉我更多关于这个消息的想法吗?你在哪里得到这个?“

“好吧,”开始大卫。 “我在一个红宝石脚本中找到了它。”红宝石啪的一声手指,再次笑得很开心。 “可能是一些东西......法律教授喜欢编程拼图,特别是在Ruby中。”她突然向大卫转向大卫,“你是Rubyist,大卫吗?”

“嗯,有点?”大卫弱了。他认识一些Ruby,足以建立一个简单的rails Web应用程序,但相当害羞地承认它。

“你怎么看待这条消息,在Ruby脚本中找到?”她期待着。

“呃,”慢慢地回答大卫,试图绞尽脑汁。 “按时打电话给Ruby,意味着按时打电话给你?”

“不,”耐心地说。 “忘了我的那一刻。它在一个红宝石脚本中。将此视为Ruby代码。“

Inspector Hisham和Sergeant Lee互相看着彼此,而不是粗略试图做的事情。 “”时间“是一个红宝石类,”大卫自动说。然后它恍然大悟了。 “哦!按时打电话给Ruby!在时间类上调用Ruby方法?你是这个意思吗?”

红宝石继续对他微笑,“这是一种可能性。时间没有这样的方法。“

“检查员”,自信地回答红宝石。 “我认为我们可能有一些进入这种情况,但如果您拥有它,我们将需要更多的信息和您的许可,以便在教授的笔记本电脑上尝试某些内容。”

警长李瞥了一眼督察Hisham。 “好吧,”检查员Hisham说,略显困惑。 “这不完全在规则内,但肯定。我在帮助外面看不到伤害。“

“'时间'没有一个名叫'Ruby'的方法,”Ruby说,再次转动到脸部大卫。 “但是你熟悉红宝石背后的公开课程哲学吗?”

“坚持,坚持”,再次打断了军士李,恼怒。 “这个开放的课程和呼叫方法是什么?我们在谈论同样的事情吗?“

Ruby若有所思地转向警长李,靠在座位上。 “也许我应该解释一下。如果我们首先可以获得法律教授的笔记本电脑,那就更好了。这将使事情更容易解释,我们可以立即找到答案。

“嗯,”皱着眉头大卫。 “但这很难。在他的谋杀期间被盗了。“

“我们在谋杀前一周备份他的硬盘备份,”有用的大卫添加了大卫。红宝石着亮了。

“备份怎么样?”有希望的红宝石的要求。 “它是数据的还是克隆?”

“这是一个克隆,”大卫回答了。 “他使用碳拷贝克隆,我们只是从克隆中启动。”

“出色的!”红宝石般的声音,摩擦她的手预期。 “这是完美的,它可以拥有所有库和系统文件。我们需要访问。“然后转向两个老人。 “那么你觉得,先生们?”

检查员HISHAM点头沉默的提交。他们没有办法说不,当然他们不能成为整个案件的头部或尾部。无论多么晕厥,无论他们不能解决这些孩子所说,无论多么晕眩,铅是领先的。

该集团最终进入了计算机取证实验室,他们坐在明亮的会议室,一个闪亮的MacBook Pro抛出,在会议室桌上抛出。他们背后的白板被匆匆擦洗,留下了一些令人无法辨认的标记和几个白板标记在桌子上撒上了一些。 Inspector Hisham看起来不合适,而警长李拿出他的阅读眼镜,并在电脑的屏幕上开始窥视。

“好吧,”宣布红宝石的商业和自信。 “让我们从基础开始。面向对象的编程。我会撇开表面并快速到达这一点,但这会给我们一些东西可以在解释我认为可以帮助我们破解这种难题的东西。“

“编程,或写入计算机程序只是一种解决问题的方法。面向对象的编程是一种编程方式,该方法模拟了“对象”问题,“Ruby解释道。 “并且这些对象之间的相互作用为解决问题提供了解决方案。”

督察HISHAM慢慢点头,然后是军士李。几乎是有道理的,以一种奇怪的方式。她的声音很脆,但催眠质量,几乎就像她诵读诗歌。

“物体的例子可以像”用户“或”书“或”书“或”订单“或”订单“或”帐户“一样的具体示例,这无关紧要,”持续的Ruby。 “虽然对象代表数据,但您可以通过名为”方法“的某些内容与它们进行通信。她停了一会儿,以确保她的观众跟着她。

“要与对象进行通信,您可以”调用“或”调用“其方法。例如,如果您希望将“书”对象翻转到第100页,则在“书籍”对象上“调用”翻转“方法并将其传递为100.”

督察Hisham哼了一声。它觉得要去持续的持续教育课程,每次又一次地进行。除了这个年轻女孩,比他的儿子年轻。嗯,政府总是告诉我们升级到数字并升级我们的技能。

“这就是你认为来自教授的法规意味着的信息,”突然打断了大卫。 “”按时致电Ruby“意味着在时间对象上调用'Ruby'方法?”

“几乎是对的!”横梁红宝石。 “然而,时间是一个类,而不是一个对象。”

大卫点点头尴尬地。他突然闪现了如何成为计算机取证和他在计算机取证上与他交谈的闪光。虽然他知道足够的Ruby来写一个简单的铁路网站,但他对Ruby的理解或根本没有任何编程语言,并不是很深。

“以大多数面向对象的编程语言如Ruby,有一种方法可以定义对象,如对象的DNA。这被称为“类”。您可以将类视为模板或饼干切割机,您可以在那里吞噬对象。“

“然而,定义编程语言本身的核心类通常是安全的,并且程序员要么令人沮丧或不允许更改这些核心类,但通常是因为它被认为是不安全或危险的。”

警长李挣扎了一下,然后犹豫不决。 “什么是核心课程?”督察HISHAM点点头,略微松了一口气,他不是那个问

“每个面向对象的编程语言通常都有一组已经定义的类,程序员已使用,”Ruby解释说明。 “这些是核心课程。”军士李再次点头慢慢了解。

“所以我们在”时间“课上称之为”Ruby“方法?”困惑的检查员HISHAM。他开始掌握它。或类似的东西。

“但”时间“没有”Ruby“方法,”David。事情对他来说变得有趣,他的热情开始冒泡。 “对象中的方法称为”实例方法“,而在类中则称为”类方法“。 '时间'没有'Ruby'类方法。或'Ruby'实例方法。“

“那么这件事在哪里?”要求督察HISHAM。他以为他这次得到它,但这个男孩不得不爆发他的泡沫。

“是的,'时间'没有'Ruby'类方法。然而,有一个叫做Open类的概念,“她点点头了。 “基本上,在Ruby中,如果您认为它没有,您可以重新定义课程

......