自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Unix awk中的自定義函數(shù)

系統(tǒng) 其他OS
我們在文章中,會講解一些Unix awk中的自定義函數(shù)的知識。通過文章,我們了解函數(shù)的使用包含兩部分:函數(shù)的定義與函數(shù)調(diào)用。

定義和調(diào)用用戶自己的函數(shù)是幾乎每個高級語言都具有的功能,Unix awk也不例外,但原始的Unix awk并不提供函數(shù)功能,只有在nawk或較新的Unix awk版本中才可以增加函數(shù)。

函數(shù)的使用包含兩部分:函數(shù)的定義與函數(shù)調(diào)用。其中函數(shù)定義又包括要執(zhí)行的代碼(函數(shù)本身)和從主程序代碼傳遞到該函數(shù)的臨時調(diào)用。

Unix awk函數(shù)的定義方法如下:

function 函數(shù)名(參數(shù)表){函數(shù)體}

在gawk中允許將function省略為func,但其它版本的awk不允許。函數(shù)名必須是一個合法的標(biāo)志符,參數(shù)表中可以不提供參數(shù)(但在調(diào)用函數(shù)時函數(shù)名后的一對括號仍然是不可缺少的),也可以提供一個或多個參數(shù)。與C語言相似,awk的參數(shù)也是通過值來傳遞的。

在Unix awk中調(diào)用函數(shù)比較簡單,其方法與C語言相似,但Unix awk比C語言更為靈活,它不執(zhí)行參數(shù)有效性檢查。

換句話說,在你調(diào)用函數(shù)時,可以列出比函數(shù)預(yù)計(函數(shù)定義中規(guī)定)的多或少的參數(shù),多余的參數(shù)會被Unix awk所忽略,而不足的參數(shù),awk將它們置為缺省值0或空字符串,具體置為何值,將取決于參數(shù)的使用方式。

Unix awk函數(shù)有兩種返回方式:隱式返回和顯式返回。當(dāng)Unix awk執(zhí)行到函數(shù)的結(jié)尾時,它自動地返回到調(diào)用程序,這是函數(shù)是隱式返回的。如果需要在結(jié)束之前退出函數(shù),可以明確地使用返回語句提前退出。方法是在函數(shù)中使用形如:return 返回值 格式的語句。

例:下面的例子演示了函數(shù)的使用。在這個示例中,定義了一個名為print_header的函數(shù),該函數(shù)調(diào)用了兩個參數(shù)FileName和PageNum,F(xiàn)ileName參數(shù)傳給函數(shù)當(dāng)前使用的文件名,PageNum參數(shù)是當(dāng)前頁的頁號。這個函數(shù)的功能是打印(顯示)出當(dāng)前文件的文件名,和當(dāng)前頁的頁號。完成這個功能后,這個函數(shù)將返回下一頁的頁號。

 

  1. nawk   
  2. 'BEGIN{pageno=1;file=FILENAME   
  3. pageno=print_header(file,pageno);#調(diào)用函數(shù)print_header  
  4. printf("當(dāng)前頁頁號是:%d ",pageno);  
  5. }  
  6. #定義函數(shù)print_header  
  7. function print_header(FileName,PageNum){  
  8. printf("%s %d ",FileName,PageNum); >PageNum++;return PageNUm;   
  9. }  
  10. }' myfile  

執(zhí)行這個程序?qū)@示如下內(nèi)容:

myfile 1
當(dāng)前頁頁號是:2

Unix awk中的自定義函數(shù)的知識,我們就講解到這里了。

【編輯推薦】

  1. Unix awk的內(nèi)置函數(shù)知識概括
  2. 關(guān)于Unix awk的記錄的知識講解
  3. Unix awk的調(diào)用方式方面的知識介紹
  4. Unix awk使用手冊修改版本
  5. 為什么要使用Unix awk
責(zé)任編輯:小霞
相關(guān)推薦

2010-05-11 11:29:11

Unix awk

2023-10-31 09:10:39

2010-10-25 16:05:07

oracle自定義函數(shù)

2010-09-06 15:41:34

SQL函數(shù)存儲過程

2010-09-14 16:47:23

SQL自定義函數(shù)

2010-09-14 16:59:39

SQL自定義函數(shù)

2010-05-06 14:50:23

Unix系統(tǒng)功能鍵

2021-11-23 15:06:42

Kubernetes 運(yùn)維開源

2023-06-28 08:05:46

場景vue3自定義

2019-12-02 21:29:45

Keras神經(jīng)網(wǎng)絡(luò)TensorFlow

2022-06-06 09:01:16

SwiftUI自定義導(dǎo)航

2015-03-26 11:51:22

2011-06-15 09:24:36

Qt Widget Model

2015-06-10 10:54:24

自定義路PHP

2015-02-12 15:33:43

微信SDK

2018-03-16 08:41:16

Oracle存儲函數(shù)

2015-01-14 15:06:48

定義相機(jī)

2011-05-17 13:32:04

oracle

2015-02-12 15:38:26

微信SDK

2021-07-15 16:41:21

Swift查詢函數(shù)
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號