斯卡拉宏使用案例:教学斯卡拉

在斯卡拉2.10全新的实验微距功能可以在许多有趣的使用方式:

本文展示了它开辟了教学斯卡拉令人兴奋的新的可能性。引用一位学生:“这是如此真棒...和乐趣!”。

演习的“介绍Scala”培训课程对我讲德语的软件工程师开发的重要组成部分。没有人愿意听别人的对话8小时 - 他们想要得到新语言的感觉,尝试新的语法,玩弄新功能。

设计训练

但总是有确保学生解决演习时在正确的轨道上的问题。根据课程的大小,你可以不看在每个人的肩膀上所有的时间。

这就是为什么我决定利用单元测试:学生可以一步使用预先写好的测试工作,通过演练步骤,立即知道他们是否做错了什么。当结果是共享的,在端部所讨论的,可避免不愉快的意外。

添加宏它

所以,我听到你问,是什么与宏呢?斯卡拉宏允许你做的是以前不可能实现的某些测试。我们来看一下。

上面的代码段示出了锻炼教模式匹配。在演示喜欢另类和通配符模式引入学生听了前面,各种图案。

演习说明中指出:在3条线以下重写这个代码。这样一来,学生们必须思考如何应用新功能。

此外,他们告诉我们,一个VAR应该稀疏使用。单元测试是能够检查这一点。

所以宏允许测试各种代码风格和指标。凉!

这个怎么运作

在幕后,单元测试使用高清宏因为类型的宏仅在一个实验斯卡拉2.11间分行。首先,我想这可能是不可能有此限制,但由于从尤金Burmako一些帮助 - 官方斯卡拉队的成员 - 它的工作太棒了。

方法任务- 性状的一部分可测试从每次锻炼继承 - 调用宏。现在,它变得有趣。由于高清宏不能添加字段或方法,以现有的类,我不得不创建一个基类任务与所有领域我想以后需要,例如算的数瓦尔该代码使用。

随后,宏将产生对方法的调用registerTask用类型的一个实例任务。由于该领域已经声明,他们可以简单地通过实例化宏覆盖。等瞧!

完整的宏代码是相当丑陋,并包含了一些解决方法,但下面的代码片段显示了很小的一部分,其中的数瓦尔决心,决意,决定。此外,实际覆盖领域的方法就可以看出。

总而言之,宏我最近斯卡拉训练起来很顺手。当他们的解决方案的长度和风格被判断为学生们相当惊讶。我认为这是确保学生坚持他们只是了解了规则和概念的好方法;防止他们只是坚持自己的旧Java习惯。

我期待可能性类型的宏将在2.11带来。谢谢阅读。

斯蒂芬·贝肯

通过贸易软件开发人员。大部分时间在不断持续追求简洁,优雅和美丽代码。或者刚刚做的东西在中间。

评论本站由Disqus