我只是想稍稍偷懒下…

这些日子事情缠上身来,觉得是没法安逸渡小日子了。于是下狠心决定要动手写代码。

虽然我都在一直看书学习,不过却非常少真正写代码,所以水平只是马马虎虎。对于编程来说,实际动手才是最好的老师。

于是掏出本《JavaScript基础教程》,老老实实按照书上敲代码。结果第一段HTML代码就让我不想安分做个打字机器,于是想办法能不能偷下懒。

于是就可以从我的懒惰说开去…


不过在那之前还是提一提我今天在Coursera上的惨痛受虐经历吧…

MOOCs现在是大热门,凑热闹去报了几门,结果发现各种适应不良,虽然依旧收获甚多。所谓的适应不良,就可以用一句话总结“智商不够用”。

今天是Scala课程响应式编程原理作业二的Due Time,拖延症的我又开始补课补作业。视频嘛还可以,多少能理解一些;到了作业的时候,想法就是:凭你这智商敢来就是被虐到死的节奏…

其实以上只是我个人的自我厌恶,我个人努力不够而已,并非是困难不可战胜。

来看看这一周作业的成果吧——其实我在看见这个效果的时候都快吓傻了。(从此也可以看出我这个没有实际写过代码的人见识多浅薄。)顺便一说这个作业的代码是我从某神的Glist上Copy来的,抱歉我违反了行为准则…

 

 


这个程序简单模拟了致死传染病的传播情况。我似乎在里面看见了如果发生了瘟疫,这个世界的趋势…

 

 

那么我个人对这个作业的体验是:别说做和读了,我连理解题目都有很大困难…


为了改进这种困苦情况,我还是需要更多的实践。

于是接下来正题吧。

书上碰见的一个小程序,写一个简单的Bingo Card,实际上是一个表格。样子是这样的:

Bingo Card

其中最初版本的表格代码如下:

可以看见数字的5行5列实际上都非常相似吧。要我重复敲出25个,实在是太折磨人了。由于id属性上的标号不是非常规则,我也没法用Emmet来快速生成。但还是可以用代码生成的,于是想到利用下Scala来生成这一段HTML。

不动手就没法发现自己究竟有多弱!这么一段不算难的代码,也折腾了不少时间。我虽然好学,但却不思其效用,这就是我没有长进的最大原因。

下面开始逐步生成这个表格。

显而易见,关键是生成td标签的id标号。提取出标号来表示成一个矩阵,会是这样的:

在这之前,不妨来试着生成一个更简单的矩阵:

这个5*5的矩阵,显然可以使用双层的循环来生成。不过如果不是自己亲手写过,真的不会想到我在这么一个简单的任务上也会碰见障碍。比如,我没法快速反应过来这样规律的数字是如何生成的,也没法一次就在正确的地方插入换行符。Talk is cheap, show me the code.

我一直认为自己的逻辑能力是很好的,但事实也明显证明我在绝大多数的逻辑题上是非常渣的。(《程序员面试逻辑题解析》的第一题就完全吓倒我了。)在处理数字上也非常弱势。我的逻辑更多体现在“辩证”和“见微知著”上,我是这么认为的。

下面是生成上面矩阵的Scala代码:

就是如此简单。

继续观察矩阵,在12位置的格子内容是free,而在12之后的数字全部减了1。想要实现这样的矩阵,只需要在合适的地方加入控制条件即可。

到此为止,最关键的地方得到了解决,至于生成剩余的HTML代码也只是顺手的事情了。

 


一句话:别偷懒,多写代码;要偷懒,也多写代码。



  1. Pingback:

  2. 我也看到这个例子,照做了一遍,但是做着就迷失方向了,不要说逻辑简单,敲下代码时没有人码合一的过程会折腾死人,所以工具很重要!!!