Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OpenDocCN
zetcode-zh
提交
dd28dbfa
Z
zetcode-zh
项目概览
OpenDocCN
/
zetcode-zh
9 个月 前同步成功
通知
2
Star
157
Fork
40
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
Z
zetcode-zh
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
提交
dd28dbfa
编写于
6月 28, 2020
作者:
W
wizardforcel
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
2020-06-28 16:29:56
上级
111a7037
变更
63
隐藏空白更改
内联
并排
Showing
63 changed file
with
96 addition
and
96 deletion
+96
-96
docs/dotnet/99.md
docs/dotnet/99.md
+1
-1
docs/gui/142.md
docs/gui/142.md
+3
-3
docs/gui/147.md
docs/gui/147.md
+1
-1
docs/gui/173.md
docs/gui/173.md
+1
-1
docs/gui/185.md
docs/gui/185.md
+1
-1
docs/gui/187.md
docs/gui/187.md
+1
-1
docs/gui/202.md
docs/gui/202.md
+1
-1
docs/gui/204.md
docs/gui/204.md
+1
-1
docs/gui/234.md
docs/gui/234.md
+1
-1
docs/gui/237.md
docs/gui/237.md
+1
-1
docs/gui/239.md
docs/gui/239.md
+1
-1
docs/gui/258.md
docs/gui/258.md
+1
-1
docs/gui/261.md
docs/gui/261.md
+2
-2
docs/gui/308.md
docs/gui/308.md
+1
-1
docs/gui/310.md
docs/gui/310.md
+1
-1
docs/gui/342.md
docs/gui/342.md
+1
-1
docs/gui/88.md
docs/gui/88.md
+1
-1
docs/java/14.md
docs/java/14.md
+1
-1
docs/java/16.md
docs/java/16.md
+1
-1
docs/java/17.md
docs/java/17.md
+1
-1
docs/java/28.md
docs/java/28.md
+1
-1
docs/java/34.md
docs/java/34.md
+1
-1
docs/java/38.md
docs/java/38.md
+1
-1
docs/java/47.md
docs/java/47.md
+1
-1
docs/java/60.md
docs/java/60.md
+1
-1
docs/java/68.md
docs/java/68.md
+2
-2
docs/java/76.md
docs/java/76.md
+1
-1
docs/java/89.md
docs/java/89.md
+1
-1
docs/java/9.md
docs/java/9.md
+2
-2
docs/java/92.md
docs/java/92.md
+4
-4
docs/js/54.md
docs/js/54.md
+3
-3
docs/js/66.md
docs/js/66.md
+3
-3
docs/js/75.md
docs/js/75.md
+1
-1
docs/kotlin/44.md
docs/kotlin/44.md
+1
-1
docs/kotlin/46.md
docs/kotlin/46.md
+1
-1
docs/kotlin/50.md
docs/kotlin/50.md
+1
-1
docs/misc/104.md
docs/misc/104.md
+1
-1
docs/misc/107.md
docs/misc/107.md
+2
-2
docs/php/160.md
docs/php/160.md
+1
-1
docs/php/163.md
docs/php/163.md
+3
-3
docs/php/164.md
docs/php/164.md
+1
-1
docs/php/167.md
docs/php/167.md
+2
-2
docs/php/169.md
docs/php/169.md
+3
-3
docs/py/13.md
docs/py/13.md
+1
-1
docs/py/18.md
docs/py/18.md
+1
-1
docs/py/26.md
docs/py/26.md
+1
-1
docs/py/3.md
docs/py/3.md
+1
-1
docs/py/44.md
docs/py/44.md
+2
-2
docs/py/53.md
docs/py/53.md
+1
-1
docs/py/6.md
docs/py/6.md
+1
-1
docs/py/60.md
docs/py/60.md
+1
-1
docs/py/9.md
docs/py/9.md
+3
-3
docs/ruby/65.md
docs/ruby/65.md
+1
-1
docs/ruby/76.md
docs/ruby/76.md
+2
-2
docs/ruby/80.md
docs/ruby/80.md
+1
-1
docs/ruby/81.md
docs/ruby/81.md
+1
-1
docs/ruby/84.md
docs/ruby/84.md
+2
-2
docs/ruby/85.md
docs/ruby/85.md
+9
-9
docs/servlet/13.md
docs/servlet/13.md
+1
-1
docs/servlet/24.md
docs/servlet/24.md
+1
-1
docs/spring-boot/21.md
docs/spring-boot/21.md
+1
-1
docs/spring-boot/58.md
docs/spring-boot/58.md
+1
-1
docs/symfony/96.md
docs/symfony/96.md
+3
-3
未找到文件。
docs/dotnet/99.md
浏览文件 @
dd28dbfa
...
...
@@ -937,7 +937,7 @@ End If
```
如果该值大于限制,则抛出自定义异常。 我们给异常消息
“超出最大值”
。
如果该值大于限制,则抛出自定义异常。 我们给异常消息
`"Exceeded the maximum value"`
。
```
vb
Catch
e
As
BigValueException
...
...
docs/gui/142.md
浏览文件 @
dd28dbfa
...
...
@@ -323,12 +323,12 @@ Today is 10/14/15
| --- | --- |
|
`d`
| 不带前导零(1 到 31)的日期 |
|
`dd`
| 带前导零(01 到 31)的日期 |
|
`ddd`
| 本地化日期的缩写(例如,
“周一”到“周日”
)。 使用
`QDate::shortDayName()`
。 |
|
`dddd`
| 本地化的长名称(例如,
“星期一”到“星期日”
)。 使用
`QDate::longDayName()`
。 |
|
`ddd`
| 本地化日期的缩写(例如,
`Mon`
到
`Sun`
)。 使用
`QDate::shortDayName()`
。 |
|
`dddd`
| 本地化的长名称(例如,
`Monday`
到
`Sunday`
)。 使用
`QDate::longDayName()`
。 |
|
`M`
| 不带前导零(1 到 12)的月份 |
|
`MM`
| 带前导零(01 到 12)的月份 |
|
`MMM`
| 本地化月份的缩写名称(例如,
`"Jan"`
到
`"Dec"`
)。 使用
`QDate::shortMonthName()`
。 |
|
`MMMM`
| 本地化的长月份名称(例如,
“一月”到“十二月”
)。 使用
`QDate::longMonthName()`
。 |
|
`MMMM`
| 本地化的长月份名称(例如,
`January`
到
`December`
)。 使用
`QDate::longMonthName()`
。 |
|
`y`
| 两位数年份(00 到 99) |
|
`yyyy`
| 四位数年份。 如果年份为负数,则还会附加一个减号。 |
...
...
docs/gui/147.md
浏览文件 @
dd28dbfa
...
...
@@ -368,7 +368,7 @@ void Disconnect::onClick() {
```
如果单击“单击”按钮,则将
“单击按钮”
文本发送到终端窗口。
如果单击“单击”按钮,则将
`"Button clicked"`
文本发送到终端窗口。
```
cpp
void
Disconnect
::
onCheck
(
int
state
)
{
...
...
docs/gui/173.md
浏览文件 @
dd28dbfa
...
...
@@ -263,7 +263,7 @@ set ::iapple [image create photo img3 -file "apple.png"]
```
在这些行中,我们加载图像。
“半字节”
游戏中有三个图像。 头,圆点和苹果。
在这些行中,我们加载图像。
贪食蛇
游戏中有三个图像。 头,圆点和苹果。
```
tcl
createObjects
...
...
docs/gui/185.md
浏览文件 @
dd28dbfa
...
...
@@ -295,6 +295,6 @@ void OnEnter(object sender, EventArgs e) {
```
当我们使用鼠标指针进入按钮控制区域时,终端中将显示
“已输入按钮”
文本。
当我们使用鼠标指针进入按钮控制区域时,终端中将显示
`"Button Entered"`
文本。
Mono Winforms 教程的这一部分显示了一些入门代码示例,以帮助您开始使用 Winforms 编程库。
\ No newline at end of file
docs/gui/187.md
浏览文件 @
dd28dbfa
...
...
@@ -484,7 +484,7 @@ if (e.Button.Tag.Equals("Exit"))
```
如果按钮的标签等于
“退出”
,我们将关闭该应用。
如果按钮的标签等于
`"Exit"`
,我们将关闭该应用。
![
ToolBar
](
img/3c649deb57ba057198ef9db9967b9ecf.jpg
)
...
...
docs/gui/202.md
浏览文件 @
dd28dbfa
...
...
@@ -92,7 +92,7 @@ Label lyrics = new Label("Lets sing the death song kids\n\n" +
```
这是我们将在
“标签”
小部件中显示的文本。
这是我们将在
`Label`
小部件中显示的文本。
```
java
setBorderWidth
(
8
);
...
...
docs/gui/204.md
浏览文件 @
dd28dbfa
...
...
@@ -353,7 +353,7 @@ renderer.setText(nameCol);
```
将创建一个带有
“名称”
标题的新列。 每列都有一个单元格渲染器。 单元格渲染器负责显示数据。 在我们的情况下,我们有最常用的单元格渲染器
`CellRendererText`
。 顾名思义,它在
`TreeViewColumn`
中显示文本数据。
将创建一个带有
`"Name"`
标题的新列。 每列都有一个单元格渲染器。 单元格渲染器负责显示数据。 在我们的情况下,我们有最常用的单元格渲染器
`CellRendererText`
。 顾名思义,它在
`TreeViewColumn`
中显示文本数据。
```
java
row
=
model
.
getIter
(
treePath
);
...
...
docs/gui/234.md
浏览文件 @
dd28dbfa
...
...
@@ -258,7 +258,7 @@ class SharpApp : Window {
```
在代码示例中,我们有一个按钮和一个复选框。 当我们单击按钮并且复选框处于活动状态时,我们在控制台中显示
“单击”
文本。 该复选框可将处理器方法与按钮
`Clicked`
事件连接或断开连接。
在代码示例中,我们有一个按钮和一个复选框。 当我们单击按钮并且复选框处于活动状态时,我们在控制台中显示
`"Click"`
文本。 该复选框可将处理器方法与按钮
`Clicked`
事件连接或断开连接。
```
cs
CheckButton
cb
=
new
CheckButton
(
"connect"
);
...
...
docs/gui/237.md
浏览文件 @
dd28dbfa
...
...
@@ -520,7 +520,7 @@ languages.Title = "Programming languages";
```
它有一列名为
“编程语言”
。
它有一列名为
`"Programming languages"`
。
```
cs
CellRendererText
cell
=
new
CellRendererText
();
...
...
docs/gui/239.md
浏览文件 @
dd28dbfa
...
...
@@ -321,7 +321,7 @@ public class SharpApp : Window
```
我们绘制水平居中的
“澳大利亚”
文本,颜色为深红色。
我们绘制水平居中的
`"Australia"`
文本,颜色为深红色。
```
cs
Gdk
.
PangoRenderer
renderer
=
Gdk
.
PangoRenderer
.
GetDefault
(
drawingArea
.
Screen
);
...
...
docs/gui/258.md
浏览文件 @
dd28dbfa
...
...
@@ -196,7 +196,7 @@ gobject.signal_new("z_signal", Sender, gobject.SIGNAL_RUN_FIRST,
```
我们注册一个新对象和一个新信号。
`signal_new()`
函数为发件人对象注册一个名为
`z_signal`
的信号。
`SIGNAL_RUN_FIRST`
参数意味着接收信号的对象的默认处理器
称为“第一”
。 最后两个参数是返回值类型和参数类型。 在我们的示例中,我们不返回任何值,也不发送任何参数。
我们注册一个新对象和一个新信号。
`signal_new()`
函数为发件人对象注册一个名为
`z_signal`
的信号。
`SIGNAL_RUN_FIRST`
参数意味着接收信号的对象的默认处理器
首先调用
。 最后两个参数是返回值类型和参数类型。 在我们的示例中,我们不返回任何值,也不发送任何参数。
```
py
sender
.
connect
(
'z_signal'
,
self
.
report_signal
)
...
...
docs/gui/261.md
浏览文件 @
dd28dbfa
...
...
@@ -164,7 +164,7 @@ if not fl[0] == '.':
```
在
`fill_store()`
方法中,我们用数据填充列表存储。 在这里,我们找出当前路径中的所有目录。 我们排除以
“。”
开头的不可见目录。
在
`fill_store()`
方法中,我们用数据填充列表存储。 在这里,我们找出当前路径中的所有目录。 我们排除以
`.`
开头的不可见目录。
```
py
def
on_home_clicked
(
self
,
widget
):
...
...
@@ -437,7 +437,7 @@ languages.set_title("Programming languages")
```
它有一列名为
“编程语言”
。
它有一列名为
`"Programming languages"`
。
```
py
cell
=
gtk
.
CellRendererText
()
...
...
docs/gui/308.md
浏览文件 @
dd28dbfa
...
...
@@ -282,6 +282,6 @@ def OnEnter(self, sender, args):
```
当我们使用鼠标指针进入按钮控制区域时,
“已输入按钮”
文本将显示在终端中。
当我们使用鼠标指针进入按钮控制区域时,
`"button entered"`
文本将显示在终端中。
IronPython Mono Winforms 教程的这一部分显示了一些入门代码示例。
\ No newline at end of file
docs/gui/310.md
浏览文件 @
dd28dbfa
...
...
@@ -472,7 +472,7 @@ if event.Button.Tag == "Exit":
```
如果按钮的标签等于
“退出”
,我们将关闭该应用。
如果按钮的标签等于
`"Exit"`
,我们将关闭该应用。
![
ToolBar
](
img/ed183faa86e054edc92a17d0bd26525a.jpg
)
...
...
docs/gui/342.md
浏览文件 @
dd28dbfa
...
...
@@ -564,7 +564,7 @@ End If
```
如果按钮的标签等于
“退出”
,我们将关闭该应用。
如果按钮的标签等于
`"Exit"`
,我们将关闭该应用。
![
ToolBar
](
img/eb78dde0a000b0e1cba3e5f45b106925.jpg
)
...
...
docs/gui/88.md
浏览文件 @
dd28dbfa
...
...
@@ -272,7 +272,7 @@ button->SetFocus();
```
我们将键盘焦点设置为按钮。 因此,如果我们按
`
输入
`
键,则单击该按钮。
我们将键盘焦点设置为按钮。 因此,如果我们按
`
Enter
`
键,则单击该按钮。
```
cpp
Close
(
true
);
...
...
docs/java/14.md
浏览文件 @
dd28dbfa
...
...
@@ -75,7 +75,7 @@ public class AbstractClass {
```
我们有一个抽象基类
`Drawing`
。 该类定义两个成员字段,定义一个方法并声明一个方法。 一种方法是抽象的,另一种是完全实现的。
`Drawing`
类是抽象的,因为我们无法绘制它。 我们可以画一个圆,一个点或一个正方形,但是我们不能画一个
“绘图”
。
`Drawing`
类对我们可以绘制的对象具有一些通用功能。
我们有一个抽象基类
`Drawing`
。 该类定义两个成员字段,定义一个方法并声明一个方法。 一种方法是抽象的,另一种是完全实现的。
`Drawing`
类是抽象的,因为我们无法绘制它。 我们可以画一个圆,一个点或一个正方形,但是我们不能画一个
`Drawing`
。
`Drawing`
类对我们可以绘制的对象具有一些通用功能。
```
java
abstract
class
Drawing
{
...
...
docs/java/16.md
浏览文件 @
dd28dbfa
...
...
@@ -699,7 +699,7 @@ if (x > LIMIT) {
```
如果该值大于限制,则抛出自定义异常。 我们给异常消息
“超出最大值”
。
如果该值大于限制,则抛出自定义异常。 我们给异常消息
`"Exceeded the maximum value"`
。
```
java
}
catch
(
BigValueException
e
)
{
...
...
docs/java/17.md
浏览文件 @
dd28dbfa
...
...
@@ -256,7 +256,7 @@ names.set(1, "Tom");
```
`set()`
方法用给定元素替换指定索引处的元素。
“托马斯”替换为“汤姆”
。
`set()`
方法用给定元素替换指定索引处的元素。
`"Tomas"`
替换为
`"Tom"`
。
```
java
System
.
out
.
format
(
"There are %d elements in the collection%n"
,
...
...
docs/java/28.md
浏览文件 @
dd28dbfa
...
...
@@ -191,7 +191,7 @@ Pattern p = Pattern.compile("Jane|Beky|Robert");
```
此正则表达式查找
“
`Jane`
”
,
`"Beky"`
或
`"Robert"`
字符串。
此正则表达式查找
`"Jane"`
,
`"Beky"`
或
`"Robert"`
字符串。
## Java Regex 捕获组
...
...
docs/java/34.md
浏览文件 @
dd28dbfa
...
...
@@ -199,7 +199,7 @@ public class JavaInternalIteratorEx2 {
```
使用现代函数式 Java,我们展示了如何创建一个不包含
“天空”
一词的新不可变列表。
使用现代函数式 Java,我们展示了如何创建一个不包含
`"sky"`
一词的新不可变列表。
```
java
[
hello
,
there
,
den
]
...
...
docs/java/38.md
浏览文件 @
dd28dbfa
...
...
@@ -91,7 +91,7 @@ Log4j 具有一个特定的内置记录器,称为“根查询器”。 它位
|
`ERROR`
| YES | YES | YES | YES | YES | YES | NO | NO |
|
`FATAL`
| YES | YES | YES | YES | YES | YES | YES | NO |
该表说明了事件和配置级别的工作方式。 如果我们在调试级别记录消息,并且配置为
“警告”
,则不会传递该消息。 如果我们在信息级别记录消息,而配置级别是调试,则消息将传递到其目的地。
该表说明了事件和配置级别的工作方式。 如果我们在调试级别记录消息,并且配置为
`WARN`
,则不会传递该消息。 如果我们在信息级别记录消息,而配置级别是调试,则消息将传递到其目的地。
## Log4j 基本示例
...
...
docs/java/47.md
浏览文件 @
dd28dbfa
...
...
@@ -180,7 +180,7 @@ String msg = firstBean.createMessage();
我们构建应用并将其部署到 GlassFish 服务器。 要构建应用,请右键单击项目图标,然后选择“
Build”(构建)
。 要部署应用,请右键单击项目图标,然后选择“部署”。
我们构建应用并将其部署到 GlassFish 服务器。 要构建应用,请右键单击项目图标,然后选择“
构建”
。 要部署应用,请右键单击项目图标,然后选择“部署”。
```
java
$
curl
localhost:
8080
/
myfirstejb
/
greet
?
name
=
Jan
...
...
docs/java/60.md
浏览文件 @
dd28dbfa
...
...
@@ -78,7 +78,7 @@ public class FirstSpark {
```
应用将
“First Spark 应用消息”
返回到 GET 请求。 当我们运行应用时,Spark 将启动嵌入式 Jetty Web 服务器。
应用将
`"First Spark application"`
返回到 GET 请求。 当我们运行应用时,Spark 将启动嵌入式 Jetty Web 服务器。
```
java
get
(
"/first"
,
(
req
,
res
)
->
"First Spark application"
);
...
...
docs/java/68.md
浏览文件 @
dd28dbfa
...
...
@@ -480,7 +480,7 @@ public class JsoupGoogleSearchEx {
```
该示例为
“银河”
一词创建搜索请求。 它会打印十个与该术语匹配的域名。
该示例为
`"Milky Way"`
一词创建搜索请求。 它会打印十个与该术语匹配的域名。
```
java
private
static
final
String
DOMAIN_NAME_PATTERN
...
...
@@ -580,7 +580,7 @@ www.universetoday.com
```
这些是
“银河”
一词的 Google 顶级搜索结果。
这些是
`"Milky Way"`
一词的 Google 顶级搜索结果。
本教程专门针对 Jsoup HTML 解析器。
...
...
docs/java/76.md
浏览文件 @
dd28dbfa
...
...
@@ -156,7 +156,7 @@ String col = colours.get(1);
```
`get()`
方法返回第二个元素,即
“橙色”
。
`get()`
方法返回第二个元素,即
`"orange"`
。
```
java
int
size
=
colours
.
size
();
...
...
docs/java/89.md
浏览文件 @
dd28dbfa
...
...
@@ -245,7 +245,7 @@ StringJoiner join = new StringJoiner("|");
```
`StringJoiner`
类用
“ |”实例化。 定界符
。
`StringJoiner`
类用
`"|"`
定界符实例化
。
```
java
while
(
scanner
.
hasNext
())
{
...
...
docs/java/9.md
浏览文件 @
dd28dbfa
...
...
@@ -873,7 +873,7 @@ public class Searching {
```
在该示例中,我们在一系列行星中搜索
“地球”
字符串。
在该示例中,我们在一系列行星中搜索
`"Earth"`
字符串。
```
java
Arrays
.
sort
(
planets
);
...
...
@@ -887,7 +887,7 @@ String p = "Earth";
```
我们将搜索
“地球”
元素。
我们将搜索
`"Earth"`
元素。
```
java
int
r
=
Arrays
.
binarySearch
(
planets
,
p
);
...
...
docs/java/92.md
浏览文件 @
dd28dbfa
...
...
@@ -158,7 +158,7 @@ if (e < MAX_VAL) {
```
在这些值之间,我们添加
“ +”或“ =”
字符。
在这些值之间,我们添加
``+``
或
`"="`
字符。
```
java
builder
.
append
(
sum
);
...
...
@@ -246,7 +246,7 @@ public class StringBuilderIndexesEx {
```
该示例使用
`indexOf()`
和
`lastIndexOf()`
方法来获取
“狼”
子字符串的索引。
该示例使用
`indexOf()`
和
`lastIndexOf()`
方法来获取
`"wolf"`
子字符串的索引。
```
java
var
builder
=
new
StringBuilder
();
...
...
@@ -264,14 +264,14 @@ int firstIdx = builder.indexOf(term);
```
我们从生成器中首次获得
“狼”
一词。
我们从生成器中首次获得
`"wolf"`
一词。
```
java
int
firstIdx2
=
builder
.
indexOf
(
term
,
15
);
```
从索引 15 开始,我们从构建器中首次获得
“狼”
术语。
从索引 15 开始,我们从构建器中首次获得
`"wolf"`
术语。
```
java
int
lastIdx
=
builder
.
lastIndexOf
(
term
);
...
...
docs/js/54.md
浏览文件 @
dd28dbfa
...
...
@@ -117,7 +117,7 @@ screen
```
这是输出。 文件内容之前显示
“脚本继续”
。
这是输出。 文件内容之前显示
`"Script continues"`
。
## Node.js 同步读取目录
...
...
@@ -176,7 +176,7 @@ Ready.
```
通过同步函数调用,
“就绪”
。 函数完成执行后,显示消息。
通过同步函数调用,
`"Ready."`
。 函数完成执行后,显示消息。
## Node.js 异步读取目录
...
...
@@ -198,7 +198,7 @@ fs.readdir(".", (err, filenames) => {
```
`readdir()`
异步读取当前工作目录的内容。 它用目录中文件的名称(不包括
“。”)填充数组。 和“ ..”
。
`readdir()`
异步读取当前工作目录的内容。 它用目录中文件的名称(不包括
`.`
和
`..`
)填充数组
。
## Node.js 读取网页
...
...
docs/js/66.md
浏览文件 @
dd28dbfa
...
...
@@ -212,7 +212,7 @@ console.log(new_text);
```
在示例中,我们从输入字符串中创建了一个新字符串,在此我们将
“灰色”单词替换为“灰色”
。
在示例中,我们从输入字符串中创建了一个新字符串,在此我们将
`"gray"`
单词替换为
`'grey'`
。
```
js
let
pattern
=
/gray/g
;
...
...
@@ -387,7 +387,7 @@ words.forEach(word => {
```
在示例中,我们寻找
“偶数”
项的精确匹配。
在示例中,我们寻找
`'even'`
项的精确匹配。
```
js
$
node
exact_match
.
js
...
...
@@ -574,7 +574,7 @@ let pattern = /Jane|Beky|Robert/;
```
此正则表达式查找
“
`Jane`
”
,
`"Beky"`
或
`"Robert"`
字符串。
此正则表达式查找
`Jane`
,
`"Beky"`
或
`"Robert"`
字符串。
## 捕获组
...
...
docs/js/75.md
浏览文件 @
dd28dbfa
...
...
@@ -205,7 +205,7 @@ let val = await City.where({ 'name': 'Bratislava' }).fetch({require:true});
```
我们获取一个名为
“布拉迪斯拉发”
的模型。
我们获取一个名为
`'Bratislava'`
的模型。
```
js
logger
.
info
(
val
);
...
...
docs/kotlin/44.md
浏览文件 @
dd28dbfa
...
...
@@ -1144,7 +1144,7 @@ println(res)
```
这些行创建了一个映射,该映射具有两个键:
“偶数”和“奇数”。 “偶数”指向偶数值列表,“奇数”
指向奇数值列表。
这些行创建了一个映射,该映射具有两个键:
`"even"`
和
`"odd"`
。
`"even"`
指向偶数值列表,
`"odd"`
指向奇数值列表。
```
kt
val words = listOf("as", "pen", "cup", "doll", "my", "dog", "spectacles")
...
...
docs/kotlin/46.md
浏览文件 @
dd28dbfa
...
...
@@ -1042,7 +1042,7 @@ println(res)
```
这些行创建了一个映射,该映射具有两个键:
“偶数”和“奇数”。 “偶数”指向偶数值列表,“奇数”
指向奇数值列表。
这些行创建了一个映射,该映射具有两个键:
`"even"`
和
`"odd"`
。
`"even"`
指向偶数值列表,
`"odd"`
指向奇数值列表。
```
kt
val words = setOf("as", "pen", "cup", "doll", "my", "dog", "spectacles")
...
...
docs/kotlin/50.md
浏览文件 @
dd28dbfa
...
...
@@ -492,7 +492,7 @@ val pattern = "Jane|Beky|Robert".toRegex()
```
此正则表达式查找
“
`Jane`
”
,
`"Beky"`
或
`"`
Robert"
`字符串。
此正则表达式查找
`Jane`
,
`"Beky"`
或
`"`
Robert"
`字符串。
## 子模式
...
...
docs/misc/104.md
浏览文件 @
dd28dbfa
...
...
@@ -68,7 +68,7 @@ puts name
```
在这种情况下,我们将字符串
“名称”
打印到控制台。
在这种情况下,我们将字符串
`name`
打印到控制台。
```
tcl
puts $name
...
...
docs/misc/107.md
浏览文件 @
dd28dbfa
...
...
@@ -58,7 +58,7 @@ if {$sex == "male"} {
```
我们有性别变量。 它具有
“女性”
字符串。 布尔表达式的计算结果为
`false`
,我们在控制台中得到
`"It is a girl"`
。
我们有性别变量。 它具有
`"female"`
字符串。 布尔表达式的计算结果为
`false`
,我们在控制台中得到
`"It is a girl"`
。
```
tcl
$ ./girlboy.tcl
...
...
@@ -132,7 +132,7 @@ switch $domain {
```
在脚本中,我们提示您输入域名。 有几种选择。 例如,如果该值等于我们,则将
“美国”
字符串打印到控制台。 如果该值与任何给定值都不匹配,那么将执行默认主体,并将
`unknown`
打印到控制台。
在脚本中,我们提示您输入域名。 有几种选择。 例如,如果该值等于我们,则将
`"United States"`
字符串打印到控制台。 如果该值与任何给定值都不匹配,那么将执行默认主体,并将
`unknown`
打印到控制台。
```
tcl
$ ./switch_cmd.tcl
...
...
docs/php/160.md
浏览文件 @
dd28dbfa
...
...
@@ -79,7 +79,7 @@ if ($male) {
```
我们打印名称。
`if`
命令适用于布尔值。 如果变量
`$male`
为
`True`
,则将
“我们将使用名称 John”
打印到控制台。 如果其值为
`False`
,我们将打印另一个字符串。
我们打印名称。
`if`
命令适用于布尔值。 如果变量
`$male`
为
`True`
,则将
`"We will use name John"`
打印到控制台。 如果其值为
`False`
,我们将打印另一个字符串。
```
php
$
php
kid
.
php
...
...
docs/php/163.md
浏览文件 @
dd28dbfa
...
...
@@ -71,7 +71,7 @@ if ($sex == "male") {
```
我们有一个
`$sex`
变量。 它具有
“女性”
字符串。 布尔表达式的计算结果为
`false`
,我们在控制台中得到
`"It is a girl"`
。
我们有一个
`$sex`
变量。 它具有
`"female"`
字符串。 布尔表达式的计算结果为
`false`
,我们在控制台中得到
`"It is a girl"`
。
```
php
$
php
boyorgirl
.
php
...
...
@@ -158,7 +158,7 @@ Slovakia
```
我们得到
“斯洛伐克”
。 如果将
`$domains`
变量更改为
`'rr'`
,则会得到
`'Unknown'`
字符串。
我们得到
`Slovakia`
。 如果将
`$domains`
变量更改为
`'rr'`
,则会得到
`'Unknown'`
字符串。
## PHP `while`循环
...
...
@@ -188,7 +188,7 @@ while ($i < 5) {
```
在代码示例中,我们反复将
“PHP 语言”
字符串打印到控制台。
在代码示例中,我们反复将
`"PHP language\n"`
字符串打印到控制台。
`while`
循环包含三个部分:初始化,测试和更新。 语句的每次执行都称为循环。
...
...
docs/php/164.md
浏览文件 @
dd28dbfa
...
...
@@ -77,7 +77,7 @@ print_r($continents);
```
我们通过将值分配给数组索引来创建
`$continents`
数组。
“美国”的索引为 0,“欧洲”
的索引为 2,依此类推。
我们通过将值分配给数组索引来创建
`$continents`
数组。
`"America"`
的索引为 0,
`"Europe"`
的索引为 2,依此类推。
`init4.php`
...
...
docs/php/167.md
浏览文件 @
dd28dbfa
...
...
@@ -63,7 +63,7 @@ I saw Beky. Beky was beautiful.
```
`preg_replace()`
函数将单词
“简”的所有出现替换为单词“贝基”
。
`preg_replace()`
函数将单词
`"Jane"`
的所有出现替换为单词
`"Beky"`
。
```
php
php
>
print_r
(
preg_grep
(
"#Jane#"
,
[
"Jane"
,
"jane"
,
"Joan"
,
"JANE"
]));
...
...
@@ -376,7 +376,7 @@ $pattern = "/Jane|Beky|Robert/";
```
这是搜索模式。 该模式查找
“简”,“贝基”或“罗伯特”
字符串。
这是搜索模式。 该模式查找
`"Jane"`
,
`"Beky"`
或
`"Robert"`
字符串。
```
php
$
php
alternation
.
php
...
...
docs/php/169.md
浏览文件 @
dd28dbfa
...
...
@@ -493,7 +493,7 @@ if ($a > LIMIT) {
```
如果该值大于限制,则抛出自定义异常。 我们给异常消息
“超出了允许的最大值”
。
如果该值大于限制,则抛出自定义异常。 我们给异常消息
`"Exceeded the maximum value allowed\n"`
。
```
php
}
catch
(
BigValueException
$e
)
{
...
...
@@ -557,7 +557,7 @@ private $year = "not specified";
```
我们定义了三个成员字段。 它们的初始值为
“未指定”
。
我们定义了三个成员字段。 它们的初始值为
`"not specified"`
。
```
php
$args
=
func_get_args
();
...
...
@@ -664,7 +664,7 @@ private $age = "unspecified";
```
我们有两个成员字段。 它们的初始值为
“未指定”
。
我们有两个成员字段。 它们的初始值为
`"not specified"`
。
```
php
public
static
function
withName
(
$name
)
{
...
...
docs/py/13.md
浏览文件 @
dd28dbfa
...
...
@@ -317,7 +317,7 @@ print('Your name is:', name)
```
`read()`
方法从标准输入读取一个字符。 在我们的示例中,系统提示您输入
“输入您的姓名”。 我们输入名称,然后按
`输入`
。
`输入
`
键生成
`new line`
字符:
`\n`
。
`read()`
方法从标准输入读取一个字符。 在我们的示例中,系统提示您输入
`'Enter your name: '`
。 我们输入名称,然后按
`Enter`
。
`Enter
`
键生成
`new line`
字符:
`\n`
。
```
py
$
.
/
read_name
.
py
...
...
docs/py/18.md
浏览文件 @
dd28dbfa
...
...
@@ -467,6 +467,6 @@ $ ./gen_grep.py Roman roman_empire.txt
```
文件中有四行包含
“罗马”
字。
文件中有四行包含
`Roman`
字。
在本章中,我们介绍了 Python 中的迭代器和生成器。
\ No newline at end of file
docs/py/26.md
浏览文件 @
dd28dbfa
...
...
@@ -731,7 +731,7 @@ print(pt)
```
该示例在一个漂亮的表中显示
“文档”
内的所有文本文件。 该表包含三列:文件名,大小和创建日期。
该示例在一个漂亮的表中显示
`Documents`
内的所有文本文件。 该表包含三列:文件名,大小和创建日期。
```
py
$
simple_table
.
py
...
...
docs/py/3.md
浏览文件 @
dd28dbfa
...
...
@@ -43,7 +43,7 @@ print("The Python tutorial")
```
这是我们的第一个 Python 脚本。 该脚本会将
“Python 教程”
字符串打印到控制台。 Python 脚本具有
`.py`
扩展名。
这是我们的第一个 Python 脚本。 该脚本会将
`"The Python tutorial"`
字符串打印到控制台。 Python 脚本具有
`.py`
扩展名。
```
py
$
which
python
...
...
docs/py/44.md
浏览文件 @
dd28dbfa
...
...
@@ -518,7 +518,7 @@ x.align["City name"] = "l"
```
我们将
“城市名称”
列中的字段对齐到左侧。
我们将
`City name`
列中的字段对齐到左侧。
```
py
x
.
align
[
"Area"
]
=
"r"
...
...
@@ -526,7 +526,7 @@ x.align["Annual Rainfall"] = "r"
```
我们将
“区域”和“年度降雨量”
中的字段右对齐。
我们将
`Area`
和
`Annual Rainfall`
中的字段右对齐。
```
py
$
.
/
alignment
.
py
...
...
docs/py/53.md
浏览文件 @
dd28dbfa
...
...
@@ -390,7 +390,7 @@ pattern = re.compile(r'Jane|Beky|Robert')
```
此正则表达式查找
“
`Jane`
”
,
`"Beky"`
或
`"Robert"`
字符串。
此正则表达式查找
`Jane`
,
`"Beky"`
或
`"Robert"`
字符串。
## 查找方法
...
...
docs/py/6.md
浏览文件 @
dd28dbfa
...
...
@@ -61,7 +61,7 @@ else:
```
我们打印名称。
`if`
关键字适用于布尔值。 如果
`male`
为
`True`
,则在控制台上打印
“我们将使用名称 John”
。 如果它具有
`False`
值,我们将打印另一个字符串。
我们打印名称。
`if`
关键字适用于布尔值。 如果
`male`
为
`True`
,则在控制台上打印
`"We will use name John"`
。 如果它具有
`False`
值,我们将打印另一个字符串。
以下脚本显示了一些常见的值,它们被认为是
`True`
或
`False`
。
...
...
docs/py/60.md
浏览文件 @
dd28dbfa
...
...
@@ -972,7 +972,7 @@ location /secure {
```
在 nginx
`/etc/nginx/sites-available/default`
配置文件中,我们创建一个安全页面。 领域的名称是
“限制区域”
。
在 nginx
`/etc/nginx/sites-available/default`
配置文件中,我们创建一个安全页面。 领域的名称是
`"Restricted Area"`
。
`index.html`
...
...
docs/py/9.md
浏览文件 @
dd28dbfa
...
...
@@ -193,14 +193,14 @@ print(basket['apples'])
```
“苹果”
键的值会打印到终端上。
`"apples"`
键的值会打印到终端上。
```
py
basket
[
'apples'
]
=
8
```
“苹果”
键的值被修改。 设置为数字 8。
`"apples"`
键的值被修改。 设置为数字 8。
```
py
print
(
basket
.
get
(
'oranges'
,
'undefined'
))
...
...
@@ -214,7 +214,7 @@ print(basket.get('cherries', 'undefined'))
```
该行返回
“未定义”
。 篮子里没有樱桃。
该行返回
`'undefined'`
。 篮子里没有樱桃。
```
py
$
.
/
basics
.
py
...
...
docs/ruby/65.md
浏览文件 @
dd28dbfa
...
...
@@ -740,7 +740,7 @@ location /secure {
```
在 nginx
`/etc/nginx/sites-available/default`
配置文件中,我们创建一个安全页面。 领域的名称是
“限制区域”
。
在 nginx
`/etc/nginx/sites-available/default`
配置文件中,我们创建一个安全页面。 领域的名称是
`"Restricted Area"`
。
`index.html`
...
...
docs/ruby/76.md
浏览文件 @
dd28dbfa
...
...
@@ -19,7 +19,7 @@ puts "Ruby language"
我们有一个简单的 Ruby 脚本。 如果我们熟悉某些程序语言(例如 Pascal 或 C),我们可能会看到一个名为
`puts`
的关键字或函数及其参数
`"Ruby language"`
(它是一个字符串)。
Ruby 是一种纯粹的面向对象的语言,情况有所不同。
“Ruby 语言”
确实是一个字符串,它是一种常见的数据类型。 但这也是一个对象。 与所有对象一样,我们可以调用其方法。 这与其他语言有点不同。
`puts`
是一种方法。 方法是在对象中定义的函数。 方法本身并不存在。 实际上,
`puts`
方法是
`Kernel`
模块的一部分。
Ruby 是一种纯粹的面向对象的语言,情况有所不同。
`"Ruby language"`
确实是一个字符串,它是一种常见的数据类型。 但这也是一个对象。 与所有对象一样,我们可以调用其方法。 这与其他语言有点不同。
`puts`
是一种方法。 方法是在对象中定义的函数。 方法本身并不存在。 实际上,
`puts`
方法是
`Kernel`
模块的一部分。
```
ruby
#!/usr/bin/ruby
...
...
@@ -43,7 +43,7 @@ Kernel.puts "Ruby language".size
```
在此代码行中,我们将
“Ruby 语言”
字符串的大小打印到控制台。 这可能会使使用其他语言编写代码的程序员感到困惑。 在其他语言中,字符串是无法修改的原始数据类型,并且缺少其自己的方法。 在 Ruby 中,字符串是完整对象,并且具有自己的方法。
`size`
方法就是其中一种。 它以字符为单位返回字符串的大小。
在此代码行中,我们将
`"Ruby language"`
字符串的大小打印到控制台。 这可能会使使用其他语言编写代码的程序员感到困惑。 在其他语言中,字符串是无法修改的原始数据类型,并且缺少其自己的方法。 在 Ruby 中,字符串是完整对象,并且具有自己的方法。
`size`
方法就是其中一种。 它以字符为单位返回字符串的大小。
```
ruby
$
.
/
simple2
.
rb
...
...
docs/ruby/80.md
浏览文件 @
dd28dbfa
...
...
@@ -52,7 +52,7 @@ end
```
我们有一个年龄变量。 布尔表达式的计算结果为
`false`
,并且在控制台中得到
“不允许驾驶执照”
。
我们有一个年龄变量。 布尔表达式的计算结果为
`false`
,并且在控制台中得到
`"Driving license not permitted"`
。
```
ruby
$
.
/
licence
.
rb
...
...
docs/ruby/81.md
浏览文件 @
dd28dbfa
...
...
@@ -122,7 +122,7 @@ a3 = Array.new 6, "coin"
```
创建一个包含六个
“硬币”
字符串的数组。 第一个选项是数组的大小。 第二个选项是填充数组的对象。
创建一个包含六个
`"coin"`
字符串的数组。 第一个选项是数组的大小。 第二个选项是填充数组的对象。
```
ruby
a4
=
Array
.
new
[
11
]
...
...
docs/ruby/84.md
浏览文件 @
dd28dbfa
...
...
@@ -764,7 +764,7 @@ end
```
“音量”
模块组织负责控制音量级别的方法。 如果设备需要这些方法,则仅将模块包含在其类中。
`Volume`
模块组织负责控制音量级别的方法。 如果设备需要这些方法,则仅将模块包含在其类中。
```
ruby
class
CellPhone
...
...
@@ -991,7 +991,7 @@ end
```
如果该值大于限制,则抛出自定义异常。 我们给异常消息
“超出最大值”
。
如果该值大于限制,则抛出自定义异常。 我们给异常消息
`"Exceeded the maximum value"`
。
```
ruby
$
.
/
custom_exception
.
rb
...
...
docs/ruby/85.md
浏览文件 @
dd28dbfa
...
...
@@ -43,7 +43,7 @@ p "Jane is hot".match re
```
在以上两行中,我们创建一个
`Regexp`
对象,其中包含一个简单的正则表达式文本。 使用
`match`
方法,我们将此正则表达式对象应用于
`"Jane is hot"`
句子。 我们检查句子中是否包含
“简”
一词。
在以上两行中,我们创建一个
`Regexp`
对象,其中包含一个简单的正则表达式文本。 使用
`match`
方法,我们将此正则表达式对象应用于
`"Jane is hot"`
句子。 我们检查句子中是否包含
`"Jane"`
一词。
```
ruby
p
"Jane is hot"
=~
/Jane/
...
...
@@ -84,7 +84,7 @@ p "Seven".match /.even/
```
“七个”是我们称为
`match`
方法的字符串。 该方法的参数是模式。
`/.even/`
常规模式查找以任意字符开头,后跟“偶数”
字符的文本。
`"Seven"`
是我们称为
`match`
方法的字符串。 该方法的参数是模式。
`/.even/`
常规模式查找以任意字符开头,后跟
`"even"`
字符的文本。
```
ruby
$
.
/
dot
.
rb
...
...
@@ -97,7 +97,7 @@ nil
从输出中,我们可以看到哪些字符串匹配,哪些不匹配。
就像我们上面说过的,如果有一个点字符,那么必须有一个任意字符。 不可省略。 如果我们要搜索可能会省略字符的文本怎么办? 换句话说,我们想要一个既有
“七个”又有“偶数”
的模式。 为此,我们可以使用
`?`
重复字符。
`?`
重复字符表明前一个字符可能出现 0 次或 1 次。
就像我们上面说过的,如果有一个点字符,那么必须有一个任意字符。 不可省略。 如果我们要搜索可能会省略字符的文本怎么办? 换句话说,我们想要一个既有
`"Seven"`
又有
`"even"`
的模式。 为此,我们可以使用
`?`
重复字符。
`?`
重复字符表明前一个字符可能出现 0 次或 1 次。
```
ruby
#!/usr/bin/ruby
...
...
@@ -115,7 +115,7 @@ p "even".match /.even/
```
该行打印
`nil`
,因为正则表达式期望在
“偶数”
字符串之前有一个字符。
该行打印
`nil`
,因为正则表达式期望在
`"even"`
字符串之前有一个字符。
```
ruby
p
"even"
.
match
/.?even/
...
...
@@ -222,7 +222,7 @@ puts "Her name is Jane" =~ /name/
```
在这一行中,我们有一个简单的正则表达式匹配。 我们在
“她的名字叫简”
句子中寻找一个“名字”字符串。 我们使用
`=~`
运算符。 该运算符还设置了三个特殊变量。 该行返回数字 4,这是比赛开始的位置。
在这一行中,我们有一个简单的正则表达式匹配。 我们在
`"Her name is Jane"`
句子中寻找一个“名字”字符串。 我们使用
`=~`
运算符。 该运算符还设置了三个特殊变量。 该行返回数字 4,这是比赛开始的位置。
```
ruby
p
$`
...
...
@@ -282,7 +282,7 @@ sen2 = "Jane is the best thing that happened to me"
```
我们有两个句子。
“简”
一词位于第一个字母的开头和第二个字母的结尾。
我们有两个句子。
`
"Jane"
`
一词位于第一个字母的开头和第二个字母的结尾。
```ruby
p sen1.match /^Jane/
...
...
@@ -290,7 +290,7 @@ p sen2.match /^Jane/
```
在这里,我们查看单词
“简”
是否位于两个句子的开头。
在这里,我们查看单词
`
"Jane"
`
是否位于两个句子的开头。
```ruby
p sen1.match /Jane$/
...
...
@@ -346,7 +346,7 @@ $ ./boudaries.rb
```
在下一个示例中,将使用`
\b
`定位符消除
“驯化”
上的最后一次匹配。
在下一个示例中,将使用`
\b
`定位符消除
`
"domesticated"
`
上的最后一次匹配。
`
\b
`字符用于为我们要查找的单词设置边界。
...
...
@@ -594,7 +594,7 @@ p "color colour colors colours".scan /colou?rs/
```
颜色模式可以同时找到
“颜色”和“颜色”
。 `
?
`元字符之前的`
u
`字符是可选的。
颜色模式可以同时找到
`
"color"
`和`
"colour"
`
。 `
?
`元字符之前的`
u
`字符是可选的。
```ruby
p "color colour colors colours".scan /colou?rs?/
...
...
docs/servlet/13.md
浏览文件 @
dd28dbfa
...
...
@@ -442,7 +442,7 @@ dispatcher.forward(request, response);
```
缺少值时,
`!`
用于提供默认值。 (请记住,我们没有为空或
`null`
的参数设置属性。)如果设置了
`name`
变量,则会显示它;否则,将显示它。 否则,显示
“访客”
。
缺少值时,
`!`
用于提供默认值。 (请记住,我们没有为空或
`null`
的参数设置属性。)如果设置了
`name`
变量,则会显示它;否则,将显示它。 否则,显示
`"Guest"`
。
`unknown.ftl`
...
...
docs/servlet/24.md
浏览文件 @
dd28dbfa
...
...
@@ -211,7 +211,7 @@ public class MyServlet extends HttpServlet {
```
使用
`@WebInitParam`
,将
`name`
参数初始化为
“来宾”
值。
使用
`@WebInitParam`
,将
`name`
参数初始化为
`"Guest"`
值。
```
java
String
name
=
request
.
getParameter
(
"name"
);
...
...
docs/spring-boot/21.md
浏览文件 @
dd28dbfa
...
...
@@ -409,7 +409,7 @@ public class MyRunner implements CommandLineRunner {
```
`MyRunner`
查找
“布拉迪斯拉发”和“柏林”
城市,并找到所有名称以
`"est"`
结尾的城市。
`MyRunner`
查找
`"Bratislava"`
和
`"Berlin"`
城市,并找到所有名称以
`"est"`
结尾的城市。
`com/zetcode/Application.java`
...
...
docs/spring-boot/58.md
浏览文件 @
dd28dbfa
...
...
@@ -162,7 +162,7 @@ public class OrderNotFoundException extends RuntimeException {
```
我们有一个自定义
`OrderNotFoundException`
。 它以
`@ResponseStatus`
注解装饰。 该值设置为
`HttpStatus.NOT_FOUND`
,并且原因消息显示
“无此顺序”
。 此信息将在错误页面中使用。
我们有一个自定义
`OrderNotFoundException`
。 它以
`@ResponseStatus`
注解装饰。 该值设置为
`HttpStatus.NOT_FOUND`
,并且原因消息显示
`"No such order"`
。 此信息将在错误页面中使用。
`resources/static/index.html`
...
...
docs/symfony/96.md
浏览文件 @
dd28dbfa
...
...
@@ -220,7 +220,7 @@ if (!$this->isCsrfTokenValid('upload', $token))
```
我们检索令牌并使用
`isCsrfTokenValid()`
方法对其进行验证。 如果验证失败,我们将记录事件并发送简单的响应
“不允许操作”
和
`Response::HTTP_BAD_REQUEST`
响应代码。
我们检索令牌并使用
`isCsrfTokenValid()`
方法对其进行验证。 如果验证失败,我们将记录事件并发送简单的响应
`"Operation not allowed"`
和
`Response::HTTP_BAD_REQUEST`
响应代码。
```
php
$file
=
$request
->
files
->
get
(
'myfile'
);
...
...
@@ -233,7 +233,7 @@ if (empty($file))
```
我们检查用户是否使用
`empty()`
方法指定了格式的任何文件。 如果输入字段为空,我们将使用
`Response::HTTP_UNPROCESSABLE_ENTITY`
响应代码将纯文本
“未指定文件”
发送回客户端。
我们检查用户是否使用
`empty()`
方法指定了格式的任何文件。 如果输入字段为空,我们将使用
`Response::HTTP_UNPROCESSABLE_ENTITY`
响应代码将纯文本
`"No file specified"`
发送回客户端。
```
php
$filename
=
$file
->
getClientOriginalName
();
...
...
@@ -255,7 +255,7 @@ return new Response("File uploaded", Response::HTTP_OK,
```
如果一切正常,我们将使用
`Response::HTTP_OK`
响应代码将简单的消息
“文件已上传”
发送回客户端。
如果一切正常,我们将使用
`Response::HTTP_OK`
响应代码将简单的消息
`"File uploaded"`
发送回客户端。
`src/Service/FileUploader.php`
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录