Skip to content

Commit 8259a5f

Browse files
committed
Give Unknown if codeblock not specify
1 parent 2a27fd4 commit 8259a5f

File tree

2 files changed

+19
-6
lines changed

2 files changed

+19
-6
lines changed

tool/rawstr4c/lib/Config.rakumod

Lines changed: 15 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -94,11 +94,24 @@ class SectionConfig {
9494
return self.get-inherited-config('keep-postfix', 'true');
9595
}
9696

97-
#| RS4C-String 或 RS4C-Nil
97+
98+
#| RS4C-String
9899
method language() {
99-
return self.get-direct-config('language');
100+
# RS4C-String 或 RS4C-Nil
101+
my $config-language = self.get-direct-config('language');
102+
103+
my Str $lang;
104+
105+
if $config-language.is-nil {
106+
# codeblock 没有写语言,就给 Unknown
107+
$lang = 'Unknown';
108+
} else {
109+
$lang = $config-language.string-value;
110+
}
111+
return Parser::ConfigItem's-Value.new($lang);
100112
}
101113

114+
102115
#| RS4C-String
103116
method name() {
104117
# RS4C-String 或 RS4C-Nil

tool/rawstr4c/lib/Parser.rakumod

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -70,22 +70,22 @@ class ConfigItem's-Value {
7070
# 这些函数防止开发者写错类型
7171
method nil-value() {
7272
return self.value if $.type == RS4C-Nil;
73-
die "The config value type is not RS4C-Nil, but: {$.type}";
73+
die "The config value type should be RS4C-Nil, but it is: {$.type}";
7474
}
7575

7676
method string-value() {
7777
return self.value if $.type == RS4C-String;
78-
die "The config value type is not RS4C-String, but: {$.type}";
78+
die "The config value type should be RS4C-String, but it is: {$.type}";
7979
}
8080

8181
method bool-value() {
8282
return self.value if $.type == RS4C-Bool;
83-
die "The config value type is not RS4C-Bool, but: {$.type}";
83+
die "The config value type should be RS4C-Bool, but it is: {$.type}";
8484
}
8585

8686
method mode-value() {
8787
return self.value if $.type == RS4C-Mode;
88-
die "The config value type is not RS4C-Mode, but: {$.type}";
88+
die "The config value type should be RS4C-Mode, but it is: {$.type}";
8989
}
9090

9191

0 commit comments

Comments
 (0)