网站建设者使用公众号开发者工具的目的是什么?

摘要:网站建设相关的工作,公众号开发者工具是干嘛的,白云做网站的公,专业单位网站建设2.6 个人库 Awk提供了适量的内置函数库,如 length、sub、substr、printf 等其他十来个&#
网站建设相关的工作,公众号开发者工具是干嘛的,白云做网站的公,专业单位网站建设2.6 个人库 Awk提供了适量的内置函数库#xff0c;如 length、sub、substr、printf 等其他十来个#xff1b;在A.2.1节的参考手册中都有列出。你可以自己创建更多函数#xff0c;以便有需要时引入到Awk程序中。比如内置库函数 sub 和 gsub 都只能返回替换的次数#xff0c…2.6 个人库 Awk提供了适量的内置函数库如 length、sub、substr、printf 等其他十来个在A.2.1节的参考手册中都有列出。你可以自己创建更多函数以便有需要时引入到Awk程序中。比如内置库函数 sub 和 gsub 都只能返回替换的次数而你可以用它们来写自己的字符串替换函数把返回改成替换后的字符串。本节还会给出少量样例都是这些年来我们认为很有用的。 函数 rest(n) 返回从第n个域开始的所有输入域。 # rest(n): 返回一个字符串包含 第n到第NF个域用空格分隔function rest(n, s) {s while (n NF)s s $n return substr(s, 1, length(s)-1) # 删除末尾空格 }# 测试下: { for (i 0; i NF1; i)printf(%3d [%s]\n, i, rest(i)) }注意由于$符号的优先级比高s s $n   这一行要改为 s s $(n) 才能正常运行否则会陷入死循环。原书代码有问题。 函数 rest 有个局部变量 s。Awk中没有变量声明因此只要是调用者没有提供的参数都会被当作函数的局部变量很遗憾这是语言设计的糟糕之处。在本例中调用 rest 的时候只带了一个参数 n 所以第二个参数 s就是函数内的局部变量。 按惯例我们在写函数声明的时候都会在局部变量名前面多加些空格这样可以把参数和局部变量区分清楚。还有一种做法是使用容易区分的名字比如用下划线做前缀或后缀 function rest(n, _s) {_s while (n NF)_s _s $(n) return substr(_s, 1, length(_s)-1) }不过这样看起来会有点难受。 当然还有一种做法是在所有局部变量前面加上一个不用的参数比如 locals 或者下划线_。上面这三种方法都是针对糟糕的语言设计做出的不完美的变通。 你还可以自己写一些 rest 的变种函数比如写个 subfields(m, n) 返回从第m 到 第n 的连续域的序列或者写个 join 把一个数组中的所有值变成空格分隔的序列或者把一个数组转换成JSON对象 {name: value, ...} 如果你使用标准Awk那就不得不手动拷贝这些函数到你的程序里面这实际就是复制粘贴很简单但是有风险。A.5.4节的参考手册里有个 include 程序。或者可以使用多个 -f 参数来包含多个Awk 源文件。 日期格式化 本章前面2.5节的例子里使用的日期格式为 mm/dd/yy这是美国的使用习惯但与其他地方不一样而且很难对这种格式做排序或其他数学计算。我们能很轻松写出一个 datefix 函数来把这种格式转换成ISO标准格式 yyyy-mm-dd这样的话数据就能直接用日期来排序了。 # datefix: 把 mm/dd/yy 转换成 yyyy-mm-dd (从1940年到2039年)awk function datefix(s, y, date) {split(s, date, /)y date[3]40 ? 2000date[3] : 1900date[3] # 任意年份return sprintf(%4d-%02d-%02d, y, date[1], date[2]) }{ print(datefix($0)) }$*$ datefix 12/25/23 2023-12-25Awk内置函数 split (s, arr, sep) 用分隔符 sep 将字符串 s 分割到数组 arr 中。元素编号从1开始split 返回元素的个数。分隔符是正则表达式可以写成字符串形式如 sep 或是用斜杠包围如 /sep/。如果没有 sep 参数且传给Awk程序的参数里包含了 --csv则字符串以CSV格式进行分割否则就使用域分隔符变量 FS见A.5.2节 来进行分割。有一种特殊情况如果 sep 是空字符串 或空正则表达式 //则字符串会被分割成单个字符即每个数组元素一个字符。 上面的代码用了一个比较随意的规则来将两位数的年份转换成四位数的如果小于40则认为是20xx年否则认为是19xx年。
阅读全文