第9天 设计面向对象语言 目标:为Stone语言添加类和对象的支持。仅支持单一继承 9.1 设计用于操作类与对象的语法 添加的类与对象的处理功能后,下面的Stone语言就能被正确执行了 首先定义一个Position类,方法由def语句定义。类中字段通过变量表示,并赋了初始值。上面的例子定义了move ...
分类:
编程语言 时间:
2020-01-21 23:25:07
阅读次数:
105
第8天 关联Java语言 本章要达到的目的:扩展Stone语言,使它能在程序中调用Java语言中的static方法 8.1 原生函数 Java语言提供了名为原生方法的功能,用于调用C语言等其他一些语言写成的函数。我们将为Stone语言添加类似的功能,让它能够调用由Java语言写成的函数。 原生函数将 ...
分类:
编程语言 时间:
2020-01-20 21:11:27
阅读次数:
105
第7天 添加函数功能 基本的函数定义与调用执行、引入闭包使Stone语言可以将变量赋值为函数,或将函数作为参数传递给其他函数 有些函数将有返回值的归为函数,没有返回值的归为子程序 7.1 扩充语法规则 函数定义语句的语法规则 此书将函数定义语句称为def语句。def语句仅能用于最外层代码,用户无法在 ...
分类:
编程语言 时间:
2020-01-20 00:09:21
阅读次数:
87
第5天 设计语法分析器 5.1 Stone语言的语法 代码清单 5.1 Stone 语言的语法定义 5.2 使用解析器和组合子 Parser库: 一种解析器组合子类型的库 工作是将BNF写成的语法规则改写成Java语言程序 在书中第十七章有详细解说 代码清单 5.2 Stone 语言的语法分析器Ba ...
分类:
编程语言 时间:
2020-01-17 22:40:37
阅读次数:
106
2020-01-11 17:47:59 问题描述: 问题求解: 本题和另一题target sum非常类似。target sum的要求是在一个数组中随机添加正负号,使得最终得到的结果是target,这个题目被证明和背包问题是同一个问题,只是需要进行一下转化。 本题其实也是一个套壳题目,只是这次的壳套的 ...
分类:
其他好文 时间:
2020-01-11 18:39:55
阅读次数:
62
Java8 Stream流 "Java8关于map和flatMap的代码片段思考" "Java8初体验(二)Stream语法详解" distinct() flatMap() ...
分类:
编程语言 时间:
2020-01-07 16:33:56
阅读次数:
107
1. 下载vagrant 并安装,安装完成后,输入vagrant回车查看是否安装成功 2. 下载virtualbox.box并安装,安装完成后。 3. 创建虚拟机文件夹,例如、F:/vmimg/first-docker-centos 在此目录下运行 vagrant init 生成Vagrantfil ...
分类:
其他好文 时间:
2020-01-02 22:51:45
阅读次数:
187
题目:https://nanti.jisuanke.com/t/41420 思路:01背包方案 当a(a∈S′)为最小值 如果Sum(S′)?a≤Sum(S?S′)成立 那么(?t∈S′,Sum(S′)?t≤Sum(S?S′))恒成立 从大到小排序即当前a[i]为已选石头中的最小值 #include ...
分类:
其他好文 时间:
2019-12-24 13:58:10
阅读次数:
64
Description Description There is a stone game.At the beginning of the game the player picks n piles of stones in a line. The goal is to merge the ston ...
分类:
其他好文 时间:
2019-12-21 22:32:46
阅读次数:
93
Description Description There is a stone game.At the beginning of the game the player picks n piles of stones in a circle. The goal is to merge the st ...
分类:
其他好文 时间:
2019-12-21 22:30:37
阅读次数:
83