编程语言

eval5: TypeScript编写的JavaScript解释器

落爺英雄遲暮 提交于 2020-04-04 20:34:56
eval5是基于TypeScript编写的JavaScript解释器,100%支持ES5语法。 项目地址: https://github.com/bplok20010/eval5 使用场景 浏览器环境中需要使用沙盒环境执行JavaScript脚本 控制代码执行时长 不支持 eval Function 的JavaScript运行环境:如 微信小程序 研究/学习用 安装 npm install --save eval5 使用 import { Interpreter } from 'eval5'; const ctx = { console, hello(){ console.log('hello eval5') } } var interpreter = new Interpreter(ctx, { timeout: 1000 }); var result = interpreter.evaluate(` hello(); function sum(a, b) { return a + b; } sum(100,2 00); `) console.log(result); // 300 eval5不支持es6语法,可以先将es6或typescript转成es5 原理 eval5先将源码编译得到树状结构的抽象语法树(AST)。 抽象语法树由不同的节点组成

函数语言

折月煮酒 提交于 2020-04-04 07:58:49
一、什么是函数式语言? 函数式语言(functional language)一类程序设计语言,是一种非冯·诺伊曼式的程序设计语言。 函数式语言主要成分是原始函数、定义函数和函数型。这种语言具有较强的组织数据结构的能力,可以把某一数据结构(如数组)作为单一值处理;可以把函数作为参数,其结果也可为函数,这种定义的函数称为高阶函数,程序就是函数,程序作用在结构型数据上,产生结构型结果,从根本上改变了冯·诺伊曼式语言的“逐词”工作方式。 二、有哪些函数式语言? 1.lisp 2.common lisp ,Common lisp 是一个庞大的语言,支持多种编程范式,Common Lisp多用来写专家系统,也可以构造大型软件。 3.scheme,scheme是Common lisp的子集,由于语言核心很小,多用在教育领域。 4.Haskell ,Haskell是一种于1980年代末期所发布的函数式编程语言,Haskell函数式编程语言是在Miranda的基础上得到了,它对Miranda进行了标准化,所以这种语言集合了其他相关函数式编程开发的原理,它无需花费太多的赘述就能完成一些数据结构,比如链表和矩阵,是当前最广泛地被用于研究的一种函数式编程语言。 5.Clean ,它和Haskell有很多一样的地方。目前这门语言是用C写成的,由尼兹梅根大学负责维护。 6.Meta Language

rabbit rpm地址

别说谁变了你拦得住时间么 提交于 2020-04-04 02:47:39
https://dl.bintray.com/rabbitmq/rpm/rabbitmq-server/v3.7.x/el/7/ https://dl.bintray.com/rabbitmq-erlang/rpm/erlang/20/el/7/ 来源: https://www.cnblogs.com/wangjq19920210/p/12630157.html

打印两个有序链表的公共部分

佐手、 提交于 2020-04-03 20:09:50
问题描述: 给定两个有序链表的头指针head1和head2,打印两个链表的公共部分。 算法实现: public void printCommonPart(Node head1, Node head2) { System.out.println("Common Part: "); while (head1 != null && head2 != null) { if(head1.value < head2.value) { head1 = head1.next; } else if(head1.value > head2.value) { head2 = head2.next; } else { System.out.print(head1.value + " "); head1 = head1.next; head2 = head2.next; } } System.out.println();}public class Node { public int value; public Node next; public Node(int value) { this.value = value; }} 算法解析: 1.仔细审题,得到问题的关键信息,像本题的“有序”、“头指针”等关键字; 2.对于当前题目,通过循环遍历,首先进行非空判断,其中任何一个头指针移动到null,过程即停止;

Python变量类型和运算符(变量)

回眸只為那壹抹淺笑 提交于 2020-04-03 18:41:07
python 变量 Python 使用等号(=)作为赋值运算符, 注意,变量名其实就是标识符,因此在命名时,既要遵守标识符的命名规范,还要避免和 Python的内置函数重名。 强类型语言和弱类型语言 必须指定该变量所能存储的数据类型,以 C 语言为例: int a = 20 和强类型语言相对应的是弱类型语言,Python 就是典型代表之一。弱类型语言有以下 2 个特征: 变量无须声明即可直接赋值,对一个不存在的变量赋值就相当于定义了一个新变量。 变量的数据类型可以动态改变:同一个变量可以一会儿被赋值为整数值,一会儿被赋值为字符串。 python 数值类型 Python 中的数值类型主要包括整形、浮点型和复数类型。整形专门用来表示整数,即没有小数部分的数。在 Python 中,整数包括正整数、0 和负整数。 short、int、long 整形类型存储,除此之外,Python 的整型还支持 None 值(空值) [root@kube python]# py demo6.py <class 'int'> <class 'int'> <class 'int'> <class 'NoneType'> [root@kube python]# cat demo6.py a=1 b=222 c=4444444444444444444444444444444444444444444444444444

Python程序特点

99封情书 提交于 2020-04-03 17:26:04
  Python语言是一种被广泛使用的高级通用脚本编程语言,具有很多区别于其他语言的特点。Python 语言最重要的是三个特点:语法简洁、生态丰富、多语言集成。   第一,Python 语法简洁。Python 语法主要用来精确表达问题逻辑,接近自然语言,只有 35 个保留字,十分简洁。实现相同程序功能,Python 语言的代码行数仅相当于其他语言的五分之一至十分之一。更少的代码行数、更简洁的表达方式可以减少程序错误以及缩短开发周期。   第二,Python 生态丰富。Python 解释器提供了几百个内置类和函数库,此外,世界各地程序员通过开源社区贡献了十几万个第三方函数库,几乎覆盖了计算机技术的各个领域,编写Python程序可以大量利用已有的内置或第三方代码,具备良好的编程生态。利用生态避免重复造轮子,可以显著缩短开发周期。   第三,Python 多语言集成。程序员不仅可以使用 Python 语言编写程序,还能够将 C 或者 C++ 等其他编程语言代码封装后以 Python 语言方式使用,达到了对多种编程语言的集成,不仅可以结合已有的其他语言生态扩大 Python 计算生态规模,也可以借助其他语言特点显著提高 Python 程序的执行速度。多语言集成为 Python 计算生态构建和持久良性发展提供了重要的技术保障。   除了 Python 语言的三个重要特点外,Python

教你如何安装和使用Python pip

廉价感情. 提交于 2020-04-03 15:48:31
前言 文的文字及图片来源于网络,仅供学习、交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理。 作者:Starshot PS:如有需要Python学习资料的小伙伴可以加点击下方链接自行获取http://t.cn/A6Zvjdun pip 是 Python 包管理工具,该工具提供了对Python 包的查找、下载、安装、卸载的功能。 目前如果你在 python.org 下载最新版本的安装包,则是已经自带了该工具。 Python 2.7.9 + 或 Python 3.4+ 以上版本都自带 pip 工具。 pip 官网:https://pypi.org/project/pip/ 你可以通过以下命令来判断是否已安装: pip --version 如果你还未安装,则可以使用以下方法来安装: $ curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py # 下载安装脚本$ sudo python get-pip.py # 运行安装脚本 注意: 用哪个版本的 Python 运行安装脚本,pip 就被关联到哪个版本,如果是 Python3 则执行以下命令: $ sudo python3 get-pip.py # 运行安装脚本。 一般情况 pip 对应的是 Python 2.7,pip3 对应的是 Python 3.x。

Python自学之路——day001

◇◆丶佛笑我妖孽 提交于 2020-04-03 11:52:42
Day01 - 初识Python Python简介 Python的历史 1989年圣诞节:Guido von Rossum开始写Python语言的编译器。 1991年2月:第一个Python编译器(同时也是解释器)诞生,它是用C语言实现的(后面又出现了Java和C#实现的版本Jython和IronPython,以及PyPy、Brython、Pyston等其他实现),可以调用C语言的库函数。在最早的版本中,Python已经提供了对“类”,“函数”,“异常处理”等构造块的支持,同时提供了“列表”和“字典”等核心数据类型,同时支持以模块为基础的拓展系统。 1994年1月:Python 1.0正式发布。 2000年10月16日:Python 2.0发布,增加了实现完整的 垃圾回收 ,提供了对 Unicode 的支持。与此同时,Python的整个开发过程更加透明,社区对开发进度的影响逐渐扩大,生态圈开始慢慢形成。 2008年12月3日:Python 3.0发布,它并不完全兼容之前的Python代码,不过因为目前还有不少公司在项目和运维中使用Python 2.x版本,所以Python 3.x的很多新特性后来也被移植到Python 2.6/2.7版本中。 目前我们使用的Python 3.7.x的版本是在2018年发布的,Python的版本号分为三段,形如A.B.C。其中A表示大版本号

Day01~15 - Python语言基础

删除回忆录丶 提交于 2020-04-03 11:52:12
Day01 - 初识Python Python简介 - Python的历史 / Python的优缺点 / Python的应用领域 搭建编程环境 - Windows环境 / Linux环境 / MacOS环境 从终端运行Python程序 - DOS命令 / Hello, world / print函数 / 运行程序 使用IDLE - 交互式环境(REPL) / 编写多行代码 / 运行程序 / 退出IDLE 注释 - 注释的作用 / 单行注释 / 多行注释 ============================================================================ Python简介 Python的历史 1989年圣诞节:Guido von Rossum开始写Python语言的编译器。 1991年2月:第一个Python编译器(同时也是解释器)诞生,它是用C语言实现的(后面又出现了Java和C#实现的版本Jython和IronPython,以及PyPy、Brython、Pyston等其他实现),可以调用C语言的库函数。在最早的版本中,Python已经提供了对“类”,“函数”,“异常处理”等构造块的支持,同时提供了“列表”和“字典”等核心数据类型,同时支持以模块为基础的拓展系统。 1994年1月:Python 1.0正式发布。

Python基础 — Python简介

自古美人都是妖i 提交于 2020-04-03 11:51:38
目录 1. Python简介 2. 第一个Python程序 3. 知识点梳理 序言:未来是数据的世界,而python 是一门可以高效简洁处理数据的语言,博主打算花一些时间完成python学习的从0到1。以此相关系列博客作为一个记录。 1. Python简介 Python的发音与拼写 Python的意思是蟒蛇,源于作者喜欢的一部电视剧 Python的作者是Guido van Rossum(龟叔) Python是龟叔在1989年圣诞节期间,为了打发无聊的圣诞节而用C编写的一个编程语言 Python正式诞生于1991年 Python的解释器如今有多个语言实现,我们常用的是CPython(官方版本的C语言实现),其他还有Jython(可以运行在Java平台)、IronPython(可以运行在.NET和Mono平台)、PyPy(Python实现的,支持JIT即时编译) Python目前有两个版本,Python2和Python3,最新版分别为2.7.12和3.5.2,现阶段大部分公司用的是Python2 Python的应用领域: 目前Python在Web应用开发、云基础设施、DevOps、网络爬虫开发、数据分析挖掘、机器学习等领域都有着广泛的应用 我使用的Python版本是Python-3.7.0,使用的开发工具 Visual Studio Code,所以接下来所有的相关学习记录