Maven 仓库timeOut 问题
Scala 工程打包发布依赖
repo1.maven.org\maven2\org\scalaz\scalaz-core_2.12\7.2.14
有时候我们在编写代码时希望能够查看运行时间,最简单的方法:
1 | def main(args: Array[String]) { |
但这个方法显然不是那么优雅。如果你在使用Scala的时候注意运行log,你会发下进度条更漂亮直观的。
1 | [Runtime] SpinalHDL v1.3.9 git head : a4cb4aadf0820174c1b48023bfcd3e9981de1d4a |
实现非常简单,首先得创建一个单例对象,单例对象一旦被实例化以后,startTime就会确定,不管Driver后面被调用多少次只会用到第一次被实例化的对象,startTime也不会改变。
Scala3 重新设计Macro系统,这是官网英文原文。
翻译的很烂,全当学习笔记而已,仅供参考
如何迁移到 Scala 3这篇博文中提到最大的一个问题是关于宏的问题。
目前我们正在努力将Tasty和macros对齐,接下来谈一谈我们的想法.
Tasty是Scala3的高级交换格式。它基于类型化的抽象语法树
这些树在某种意义上包含了Scala程序中的所有信息。
它们表示程序的语法结构,还包含有关类型和位置的完整信息.
Tasty在语法检查之后(这样所有的类型都显式的知道了,并且隐式的东西都已经解释过了)给代码做一个快照,
但是在快照之前不会经过任何转换,因此所有的信息都不会丢失。
放语法树的文件为了紧凑会压缩优化(有点像javascript的压缩),这意味着我们可以在任何编译器运行期间
生成完整的Tasty语法树,即便是单独编译也不依赖任何其他东西。
单引号双引号是有区别的
单引号表示:char字符
双引号表示:string字符
scala 为什么不建议用return
如何定义一个无限长的序列 Infinite Stream
无限长的序列有什么用
1 | object fix{ |
1 | fix on |
1 | fix on |
上一节我们用Makefile来组织scala代码,这里有更好的选择sbt来管理项目
sbt推荐将scala代码放在src路径,如下为标准的组织方式(代码还是原封使用第二节的样例代码)
总共3个文件
1 | ├── build.sbt |