什么是Blazor
MSDN1中的定义十分贴切, 此处照搬过来:
Blazor 是一个使用 .NET 生成交互式客户端 Web UI 的框架:
使用 C# 代替 JavaScript 来创建信息丰富的交互式 UI。
共享使用 .NET 编写的服务器端和客户端应用逻辑。
将 UI 呈现为 HTML 和 CSS,以支持众多浏览器,其中包括移动浏览器。
与新式托管平台(如 Docker)集成。
不严谨地说, Blazor就是用C#部分代替JavaScript来写前端.
https://www.luogu.com.cn/problem/P1953
很显然就是一个字符串处理的模拟题, 说到字符串,
就想到美国人的算法, 就想到今年下半年,
正则表达式 是一个常用工具, 而 C++ 11
中引入了对正则表达式的支持(在 <regex>
中),
我们可以用正则表达式进行匹配与替换.
这是 C++11 中引入的语法糖, 格式为
R"(A_String)"
, A_String 的字面值会被原封不动的保存,
这样我们的正则表达式中就不用每次都用 \\ 来转义了.
出门右拐 CppReference:
https://zh.cppreference.com/w/cpp/header/regex
网络上也有很多介绍, 在此就不赘述了.
注意:
smatch 的 str() 函数, 参数为 0 时返回的是匹配的整个串.
Coliru是一个支持自定义命令行的在线编译器.
值得一提的是官方FAQ中给的示例代码还是http请求, 使用前应该替换成https.
参考资料: 利用ace.js编写一个JavaScript编辑器(带智能补全)
需要指出的是文章存在一些问题
1 | var text = document.getElementById('editor').innerText; |
由于换了渲染器, 不支持内嵌HTML了, 以下是源码:
1 | <!DOCTYPE html> |
classpath
是 JVM 用到的一个环境变量, 用来指示 JVM
到何处去搜索 class
在 Windows 系统中, 不同目录间用 ;
分隔, 带空格的目录使用
""
包裹
例: 1
.;C:\work\project1\bin;C:\shared;"D:\jiafeimiao\project1\bin"
需要注意的是当前目录使用 .
代表, JVM 的按照
classpath
中的路径顺序查找, 如果在某个路径下找到了对应的
class
文件就不再继续搜索, 如果所有路径都没找到, 即报错.
Waveform Audio File Format(WAVE, 或者是经常看到的扩展名WAV), 是巨硬与IBM共同开发的存储音频流的编码格式, 属于资源交换文件格式(Resource Interchange File Format, RIFF)的一种应用.
下面简要介绍一下RIFF文件, RIFF文件由一个简单的表头 (header) 跟随着多个 "chunks" 组成, 详见Wikipedia页面.
接下来介绍WAV文件, 以下仅介绍最简单的形式, 不包含扩展信息.
在Animal类和其子类Dog类中均定义了一个名为age的整形变量,
则按照多态原理, 下列程序中访问的是Dog类中的age变量. 1
2Animal a=new Dog();
System.out.println(a.age);
Java方法重写是子类重写父类同名的方法, 子类方法覆盖了父类的方法. 而对于属性, 子类不会覆盖父类同名的属性.
如果子类没有定义属性, 子类会继承最近父类的属性.
如果创建子类对象后, 父类和子类对象都会保存一份自己的属性, 子类对象引用向上转型为父类对象引用, 父类对象引用调用的是子类重写的方法, 调用的属性仍然是父类的属性.