Fork me on GitHub

09 2013 档案

摘要:上一篇简单介绍了下Prolog的一些基本概念,今天我们来利用这些基本概念解决两个问题:数独和八皇后问题。数独数独是一个很经典的游戏:玩家需要根据n×n盘面上的已知数字,推理出所有剩余空格的数字,并满足每一行、每一列、每一个粗线宫内的数字均含1-n,不重复。当然数独的阶有很多,9×9是最常见的,我们就以它做例子。在用Prolog解决之前先想想如果我们用C#或Java来做或怎么做? 阅读全文
posted @ 2013-09-21 17:38 zhanjindong 阅读(10213) 评论(4) 推荐(0) 编辑
摘要:上一篇对Prolog有了一个感性的认识,今天介绍下Prolog中一些基本概念,想要用Prolog解决一些实际问题之前必须要先了解它们。这些概念在《七周七语言》这本书中都有介绍,我简单提炼汇总下,就当给这门小众语言做个宣传吧。变量/规则/知识库在Prolog中变量的命名是有特殊要求的,如果一个词以小写字母开头,它就是一个原子(atom),类似于其他语言中的符号(symbol),如果一个词以大写或下划线开头,那么它就是一个变量,和其他语言一样变量值可以改变,可以赋值(不过更灵活)。符号组成一些事实:likes(zhangsan,lisi).likes(wangwu,lisi).likes(chen 阅读全文
posted @ 2013-09-20 22:08 zhanjindong 阅读(18935) 评论(2) 推荐(5) 编辑
摘要:最近枕头书是《七周七语言:理解多种编程范型》这本,前面两章分别看了Ruby和IO,都是命令式语言。虽然它们在语法上跟之前接触过的C,C#,Java这些C家族的语言差别很大,但是编程范型却是一致的。Ruby是纯面向对象的一门语言,再熟悉不过了,IO是基于原型的语言,之前也稍微接触过javascript所以理解起来也不会太困难,也正是因为命令式语言、面向对象之前经常接触,所以虽然这两门语言对我来说很新鲜但是却是没有达到让我很兴奋,很激动(大多数时候是因为没看懂。兴奋点也还是有的,比如Ruby中的method_missing,IO中的yield)。昨天晚上看到Prolog的时候终于让我有了“初恋”的 阅读全文
posted @ 2013-09-19 14:28 zhanjindong 阅读(13317) 评论(4) 推荐(6) 编辑
摘要:项目中一个消息推送需求,推送的用户数几百万,用户清单很简单就是一个txt文件,是由hadoop计算出来的。格式大概如下:uid caller123456 12345678901789101 12345678901……现在要做的就是读取文件中的每一个用户然后给他推消息,具体的逻辑可能要复杂点,但今天关心的是如何遍历文件返回用户信息的问题。之前用C#已经写过类似的代码,大致如下: /// /// 读取用户清单列表,返回用户信息。 /// /// 用户清单文件路径 /// 推送断点位置,用户断点推送 /// ... 阅读全文
posted @ 2013-09-01 18:52 zhanjindong 阅读(5141) 评论(9) 推荐(7) 编辑

TOP
点击右上角即可分享
微信分享提示