lambda演算解释器
什么:
用C ++编写的小型lambda演算解释器。 它支持α转换和β减少,以及精确跟踪替换和重命名的输出。
如何:
支持标准的lambda演算语法,例如:
(λz.(((λx.(λy.x)) z) ((λx.(λy.x)) z)))
请注意,变量名称可以是多字符,因此必须用空格分隔。 支持用于多参数函数的语法糖:
λx y.x == λx.λy.x
还支持Haskell风格的lambda语法,因为没有人知道如何键入λ:
\x y -> x == \x -> \y -> x
还支持let绑定:
let S = \x y z -> x z (y z)
let K = \x y -> x
let I = \x -> x
S K K == I
如果使用了FLAG_VAR_REPLACEMENT标志(与:v切换),则解释器将尝试通过使用alpha等效性FLAG_
如果不知道如何创建实体框架(EF)的伙伴,也不想上网查找资料 . . .
可以看下面这篇文章:
C#连接数据库 —— (一)实体框架(EF)的创建 (Linq To EF)
Linq 使用
首先,我们创建数据库实体对象(下面的所有操作都用到这个对象):
var DataModelsDb = new DbTrainEntities();
查询所有数据(对应SQL语句中的 in,这个例外):
var ttlist = from cc in DataModelsDb.CheZhan select cc;
foreach (var item in ttlist)
{
Console.Writ
1、 查询Student表中的所有记录的Sname、Ssex和Class列。
SQL语句:select sname,ssex,class from student
Linq语句: from s in Students select new { s.SNAME, s.SSEX, s.CLASS }
Lambda表达式: Students.Select( s => new { SNAME = s.SNAME,SSEX = s.SSEX,CLASS = s.CLASS })