对象的封装 有使用我们引入的js文件中的对象非常非常多,js一旦变量名重复就会覆盖。为了解决这一问题,我们使用对象封装。 我们引入的js工具(代码)不会覆盖我们自己写的对象。这是因为它使用了封装与闭包。 就好像java中引入的工具,虽然方法名和我们自己写的方法名重复,但并不会覆盖,因为我们在使用引入 ...
分类:
Web程序 时间:
2020-02-01 14:29:21
阅读次数:
132
1、装饰器定义:本质就是一个函数,功能是为其它函数添加附加功能。 2、装饰器原则:1)不修改被装饰函数的源代码,2)不修改被装饰函数调用方法。 装饰器=高阶函数+函数嵌套+闭包 例: import timedef timmer(func): #定义装饰器函数 def wapper(): start_ ...
分类:
其他好文 时间:
2020-02-01 12:35:53
阅读次数:
63
这个是最基础的解释器,它实现了串联、并联、克林闭包,字符集为除了()|*的ASCII字符,而且不能判断表达式合法,效率还很低,内存利用率低。 #include<bits/stdc++.h> using namespace std; namespace GDRegex { const int EPSI ...
分类:
编程语言 时间:
2020-02-01 10:34:35
阅读次数:
108
给定两个 2-sat 问题,询问两个问题的解集是否相同。
如果不相同,构造一组解 {xi},使得这个解是其中一个问题的解同时不是另一个问题的解。 ...
分类:
其他好文 时间:
2020-01-30 23:08:33
阅读次数:
92
lambda 表达式分析 构造闭包:能够捕获作用域中变量的匿名函数的对象,Lambda 表达式是纯右值表达式,其类型是独有的无名非联合非聚合类类型,被称为闭包类型(closure type),所以在声明的时候必须使用 来声明。 在其它语言如lua中,闭包的格式相对更为简单,可以使用 lambda 表 ...
分类:
编程语言 时间:
2020-01-30 09:54:44
阅读次数:
94
#装饰器:本质就是函数,为其他函数附加功能原则:1、不修改被修饰函数的源代码2、不修改被修饰函数的调用方式装饰器=高阶函数+函数嵌套+闭包 #高阶函数 ''' 高阶函数定义: 1、函数接受的参数是一个函数名 2、函数的返回值是一个函数名 3、满足上述条件任意一个,都可称之为高阶函数 ''' # 函数 ...
分类:
编程语言 时间:
2020-01-29 16:10:36
阅读次数:
102
#include<iostream> #include<cstring> using namespace std; const int N=110,INF=0x3f3f3f3f; int f[N][N]; int main() { int n,m; cin>>n>>m; memset(f,0x3f, ...
分类:
其他好文 时间:
2020-01-27 14:05:03
阅读次数:
72
浅谈传递闭包问题 本篇随笔简单讲解一下算法竞赛中的“传递闭包问题”。 传递闭包问题的概念 简单地来讲,传递闭包问题就是一类具有传递性的问题。 放一波标准定义: 在交际网络中,给定若干个元素和若干对二元关系,且这些关系具有传递性, 通过这些传递性推导出尽量多的元素之间的关系的问题 叫做传递闭包。 也就 ...
分类:
其他好文 时间:
2020-01-27 11:02:34
阅读次数:
107
1.1 def outer(): a = 1 def inner(): print(a) a += 1 print('inner ') inner() outer() 内部函数可以使用外部函数的变量。 # python3 nonlocal 1.2 闭包: 嵌套的函数,内部函数调用外部函数的变量。 1 ...
分类:
其他好文 时间:
2020-01-26 11:49:36
阅读次数:
79
函数 Go不是一门纯函数式的编程语言,但是函数在Go中是“第一公民”,表现在: 1. 函数是一种类型,函数类型变量可以像其他类型变量一样使用,可以作为其他函数的参数或返回值,也可以直接调用执行。 2. 函数支持多值返回。 3. 支持闭包。 4. 函数支持可变参数。 Go是通过编译成本地代码且基于“堆 ...
分类:
编程语言 时间:
2020-01-24 15:54:08
阅读次数:
63