**人——特别是汉族人,理应坚持广泛、规范地使用汉语。凡非必要之情形不说外国话、不用外国字。此乃天经地义!然则每当必要,亦不排斥采用外国之语言。不妨 博世界之学问,养**之精神 。
本人亦支持少数民族坚持采用自己民族的传统语言。仍须强调,凡**人,皆应会用汉语、积极使用汉语,此乃中华各民族之大一统之必由。
- NPM 包名
- 作者
南昌吴乐川
提供仓库服务之组织 | 仓库组织之国别 | 仓库地址 |
---|---|---|
码云 | 中华人民共和国 | https://gitee.com/nanchang-wulechuan/wulechuan-js-get-valid-indentation-string.git |
阿里云之代码仓库 | 中华人民共和国 | https://code.aliyun.com/wulechuan/wulechuan-js-get-valid-indentation-string.git |
GitHub | 美 | https://github.com/wulechuan/wulechuan-js-get-valid-indentation-string.git |
- 本工具自
v2.0.0
版始,源带码文件夹、测试集文件夹、源代码接口、控制台消息文本 均已汉化。虽然旧的英语版接口得以保留,单从编程角度而言,版本并不“断代”,但因文件夹和消息文本仅采用汉语,故对于不识汉语之开发者而言,形同“版本断代”。
本工具可按需产生一个字符串,该字符串用作计算机源代码之单级缩进之空白。该字符串要么全是“空格”(' '
),要么全是“制表符”('\t'
),但二者不可混用。并且,多于一个制表符是允许的,但本程序会给出警告信息。因为,一般的,我们仅需采用单一制表符。
注意,本程序故意未提供所谓“默认值”。因此,本程序既不迎合喜欢采用“制表符”的程序员们,也不迎合喜欢采用“两个空格”的程序员们,也不迎合我本人喜欢的“四个空格”的风格。调用本程序时,如果对外界提供的“期望值”不信任,则必须明确给出一个所谓“后备值”,或者说“默认值”。
npm i @wulechuan/get-valid-indentation-string
本工具仅提供唯一的函数作为所谓“主程序”,但故意给出汉语、英语两种名称。二者互为别名,效用完全对等。
其汉语名称为 求可靠的用于计算机源代码缩进的空白文本
。该函数接受三个参数,详见下文《应用编程接口(所谓 API)》。
本项目代码库中自带的 ./测试集/index.js
是较充分的示范代码。摘抄如下(有所精简)。
const { 求可靠的用于计算机源代码缩进的空白文本 } = require('@wulechuan/get-valid-indentation-string')
试一把() // 会抛出错误,因为“期望值”、“备用值”均不合格。
试一把(3) // 采纳三个空格,即' '。
试一把('3') // 采纳三个空格,即' '。
试一把(' 8 ') // 采纳八个空格,即' '。
// 采纳两个空格,即' '。在“繁冗汇报模式”还会在控制台打印“期望值”无效的细节说明。
试一把(-1, ' ')
// 会抛出错误,因为“期望值”、“备用值”均不合格。
试一把('-2', ' \n ')
// 采纳一个制表符,即'\t'。
试一把('\t', ' ')
// 采纳四个空格,即' '。因为空格与制表符混用是不允许的。并且,在“繁冗汇报模式”还会在控制台打印“期望值”无效的细节说明。
试一把(' \t', ' ')
// 采纳两个空格,即' '。
试一把('', ' ')
// 会抛出错误,因为“期望值(六十七个空格)”太长了,超出限度,同时“备用值”又未给出。
试一把(' '.repeat(67))
// 会抛出错误,因为不允许采用布尔值,同时“备用值”又未给出。
试一把(true)
// 下方代码的期望值是有效的,会被采纳,即采纳两个制表符('\t\t')。
// 但在被采纳的同时,控制台还会给出一则警告信息,提及制表符多于一个。
// 诸君不妨思考一下,果真有必要采用超过一个制表符来当做“单级别”缩进吗?
试一把('\t\t')
// 会抛出错误,因为不允许空格与制表符混用,同时“备用值”又未给出。
试一把(' \t')
function 试一把 (期望采用的缩进空白之配置, 保险的备用配置) {
try {
// 请留意下方的函数调用语句。
求可靠的用于计算机源代码缩进的空白文本(
期望采用的缩进空白之配置,
保险的备用配置,
true
)
} catch(错误之记载) {
console.log(错误之记载.message)
}
}
本工具仅提供唯一的函数作为对外接口,但故意给出汉语、英语两种名称。二者互为别名,效用完全对等。
function 求可靠的用于计算机源代码缩进的空白文本 (
期望采用的缩进空白配置: any,
保险的备用缩进空白配置?: string | number,
应在控制台记录运行细节?: boolean
): string
function getValidIndentationString (
providedIndentation: any,
fallbackValue?: string | number,
shouldLogVerbosely?: boolean
): string
该值不能省略。可以取任何值,但仅当值有效时会被采纳,无效值不被采纳。当该值无效时,主函数转而尝试采用 保险的备用缩进空白配置
(fallbackValue
) 的值。
所谓“有效”的值,参见下文《主函数中的两个主要参数取怎样的值算是有效值?》一节。
该值可以省略。如果 期望采用的缩进空白配置
一值无效,主函数才会考察本值(即指 保险的备用缩进空白配置
)。虽然本值可传入任何值,但仅当值有效时会被采纳。如果本值被判无效,则主函数抛出错误。
所谓“有效”的值,参见下文《主函数中的两个主要参数取怎样的值算是有效值?》一节。
该值可以省略。其取值可以是任意值,但会被视作布尔值。当该值为“真性(truthy)”时:
- 如果主函数最终采纳了一个有效值,则会在控制台打印出最终采纳的值,供人类审阅。
- 如果给出的原始值有任何错误,那么,不论本程序最终是否(借助“后备值”)得到一个有效值,均会在控制台打印出与原始值相关的错误信息。
注意
若传入的
期望采用的缩进空白配置
和保险的备用缩进空白配置
均无效,则本程序抛出错误。
所谓有效的值,应符合以下规则之任一:
-
四舍五入后大于
0
且小于等于50
的数字值。视作用于代码缩进一级所采用的空格之个数。 -
包含上述数字的字符串值,例如
'4'
或" 8 "
。含义同上。 -
一个仅包含空格的字符串,其中的空格数量不少于
1
且不多于50
(可以等于1
,可以等于50
)。 -
一个仅包含制表符的字符串,其中的制表符数量不少于
1
且不多于16
(可以等于1
,可以等于16
)。但仅推荐采用单一制表符。一般情况我认为根本没必要使用两个或更多制表符。
以下枚举(但不穷举)一些有效值:
4
、'4'
、' 4 '
、' '
、" "
、' '
、'\t'
、"\t"
、'\t\t'
。
该函数总是返回一个字符串
值。如果输入不合规,该函数并不作返回,而是故意抛出错误。