Linux-AWK/C2/User-Defined-Functions-in-awk/Gujarati

From Script | Spoken-Tutorial
Jump to: navigation, search
Time
Narration
00:01 નમસ્તે, awk માં User-defined function પરના આ સ્પોકન ટ્યુટોરીયલમાં સ્વાગત છે.
00:07 આ ટ્યુટોરીયલમાં આપણે આપેલ વિશે શીખીશું - function definition નું સિન્ટેક્સ

Function call અને Return statement

00:17 આપણે આ અમુક ઉદાહરણો મારફતે કરીશું.
00:21 આ ટ્યુટોરીયલને રેકોર્ડ કરવા માટે, હું વાપરી રહ્યો છું Ubuntu Linux 16.04 Operating System અને gedit text editor 3.20.1
00:34 તમે તમારા પસંદનું કોઈપણ ટેક્સ્ટ એડિટર વાપરી શકો છો.
00:38 આ ટ્યુટોરીયલના અભ્યાસ માટે, તમને આ વેબસાઈટ પર આવેલ પાછલા awk ટ્યુટોરીયલો મારફતે જવું જોઈએ.
00:45 તમને કોઈપણ પ્રોગ્રામિંગ ભાષાનું સામાન્ય જ્ઞાન હોવું જોઈએ જેમ કે C અથવા C++.
00:52 જો નથી, તો અમારી વેબસાઈટ પરના સબંધિત ટ્યુટોરીયલો મારફતે જાવ.
00:58 આ ટ્યુટોરીયલમાં વાપરવામાં આવેલ ફાઈલ આ ટ્યુટોરીયલ પુષ્ઠ પરના Code Files લિંકમાં ઉપલબ્ધ છે.

કૃપા કરી તેને ડાઉનલોડ કરીને એક્સટ્રેક્ટ કરો.

01:08 હવે ચાલો user defined functions વિશે શીખીએ.

function સિન્ટેક્સ આ પ્રમાણે છે.

01:16 અને સિન્ટેક્સ સ્વયંસ્પષ્ટ છે.
01:20 અહીં keyword function અનિવાર્ય છે.
01:24 function ને call કરવા, function નું નામ લખો, પછી કૌંસમાં arguments .
01:31 નોંધ લો: function નામ અને argument ના open parentheses વચ્ચે space હોવાની પરવાનગી નથી.
01:39 આપણે હવે એક ઉદાહરણ જોશું.
01:42 આપણી awkdemo.txt file માં, છઠ્ઠું fieldstipend રજૂ કરે છે.
01:47 અનુમાન લગાવો કે stipend એ કા તો શૂન્ય છે અથવા ચાર digits થી બન્યું છે.
01:54 ધારો કે, stipend છે 8900.

તેને શબ્દમાં 8 હજાર 9 સો તરીકે પ્રિન્ટ કરો.

02:03 જો શિષ્યવૃત્તિકા 0 હોય, તો તેને શબ્દમાં શૂન્ય તરીકે પ્રિન્ટ કરો.
02:08 મેં પહેલાથી જ user_function.awk નામની ફાઈલમાં કોડ લખ્યો છે.
02:15 અહીં મેં એકલ argument argval સાથે changeit નામનો એક function લખ્યો છે.
02:23 અહીં argval સામાન્ય રીતે આપણું છઠ્ઠું field છે જે કે stipend છે.
02:29 function અંતર્ગત, પહેલા કોડ તાપસ કરશે કે argval zero છે કે નહિ.
02:36 જો હા, તે શબ્દમાં “Zero” પ્રિન્ટ કરશે.
02:40 જો નથી, તો કોડનો else ભાગ એક્ઝિક્યુટ થશે.
02:46 else ભાગમાં, આપણે substring function નો ઉપયોગ કરીને એક પછી એક દરેક અંકને એક્સટ્રેક્ટ કરીશું.
02:54 અને આપણે વિભિન્ન indices પર array a માં વેલ્યુઓ સંગ્રહિત કરીશું.
03:00 ઉદાહરણ તરીકે, a[1] એ ડાબી બાજુથી પ્રથમ digit આપશે અથવા thousand’s place digit.
03:08 જો કે આપણી પાસે ફક્ત ચાર digits છે, મેં ચાર ઈંડાઈસિસ વાપરી છે.
03:13 આગળ, આપણે તપાસ કરીશું કે elements એ શૂન્ય નથી કે.

અને તેને યોગ્ય ક્રમમાં પ્રિન્ટ કરીશું.

03:21 અંતમાં, આપણે આઉટપુટમાં નવી line break આપવા માટે, backslash n અક્ષર પ્રિન્ટ કરીએ છીએ.
03:28 ત્યારબાદ awk script માં, આપણે dollar 2 પ્રિન્ટ કર્યું છે, જે કે બીજું field છે જે name છે.
03:35 ત્યારબાદ આપણે parameter dollar 6 સાથે function changeit કોલ કરીએ છીએ, જે છે stipend.

ચાલો ફાઈલને એક્ઝિક્યુટ કરીએ.

03:43 terminal પર જાવ.

આગળ cd command નો ઉપયોગ કરીને એ ફોલ્ડરમાં જાવ જ્યાં તમે ફાઈલ ડાઉનલોડ કરી છે અને એક્સટ્રેકટ કરી છે.

03:53 હવે આપેલ command ટાઈપ કરો અને Enter દબાવો.
04:00 આપણને અપેક્ષા મુજબ આઉટપુટ મળે છે.
04:03 user-defined function પણ return statement સમાવિષ્ટ કરી શકે છે.
04:08 statement awk program ના calling ભાગને control રિટર્ન કરે છે.
04:13 તેનો ઉપયોગ બચેલ awk program માં વાપરવા હેતુ વેલ્યુ રિટર્ન કરવા માટે પણ થઇ શકે છે.
04:20 તે આ પ્રમાણે દેખાય છે: return space expression

અહીં expression ભાગ વૈકલ્પિક છે.

04:29 ચાલો array નું average રિટર્ન આપવા માટે function લખીએ.
04:34 મેં average.awk ફાઈલમાં કોડ લખ્યો છે

ચાલો કન્ટેન્ટ્સ જોઈએ.

04:41 આ હેતુસર આપણે એક function named avg વ્યાખ્યાયિત કર્યો છે.
04:46 તે પાંચ parameters ધરાવે છે.

arrarray છે જે માટે average ગણતરી કરાય છે.

04:55 iarray loop variable છે.
04:58 sum એ તમામ array elements નો ઉમેરો છે.
05:03 narray માં elements ની સંખ્યા સૂચિત કરે છે.
05:07 retfunction avg માંથી રિટર્ન કરવામાં આવનાર variable રજૂ કરે છે.

ret ગણતરી કરેલ average સંગ્રહિત કરશે.

05:17 i પહેલા આવેલ વધારાની સ્પેસ સૂચિત કરે છે કે variables i, sum, n અને ret local variables છે.
05:27 વાસ્તવમાં, local variables arguments બનવા હેતુ નથી.
05:32 તમને આ કન્વેનશન functions વ્યાખ્યાયિત કરતી વખતે અનુસરવું જોઈએ.
05:36 for loop અંતર્ગત, આપણે array elements ની કુલ સંખ્યા અને ઉમેરો ગણતરી કર્યો છે.
05:43 આપણે elements ની કુલ સંખ્યાથી ઉમેરાને ભાગીને average ગણતરી કર્યું છે.

અને વેલ્યુને variable ret માં સંગ્રહી છે.

05:54 function avg() variable ret ની વેલ્યુ રિટર્ન કરે છે.
06:01 BEGIN section અંતર્ગત, આપણે 5 વિભિન્ન સંખ્યાઓ સાથે array nums વ્યાખ્યાયિત કર્યું છે.
06:07 print statement માં, આપણે એક argument સાથે function avg() કોલ કરીએ છીએ, જે કે array name છે.
06:14 તો, તમને local variables ને arguments તરીકે પાસ કરવાની જરૂર નથી.
06:20 ટર્મિનલ પર પાછા જાવ. ચાલો હું ટર્મિનલ સાફ કરું.
06:26 આપેલ કમાન્ડ ટાઈપ કરો - awk space hyphen f space average dot awk

Enter દબાવો.

06:37 આપણને આઉટપુટ 3.6 તરીકે મળે છે.

તમે તેને કેલ્ક્યુલેટ વાપરીને વેલિડેટ કરી શકો છો.

06:44 ચાલો વધુ એક ઉદાહરણ તરફે જોઈએ.
06:47 મેં કોડ એક string ને reverse કરવા લખ્યો છે અને તેને નામ આપ્યું છે reverse.awk

recursive function એ એક string ને reverse કરવા વપરાય છે.

06:57 વિડિઓને અહીં અટકાવો અને ફ્લોને નિયંત્રિત કેવી રીતે કરવું છે તે સમજવા માટે કોડ તરફે જુઓ.

ત્યારબાદ આઉટપુટ જોવા માટે તેને એક્ઝિક્યુટ કરો.

07:07 એસાઇનમેન્ટ તરીકે, awkdemo.txt file માં Roll number field ને reverse કરવા માટે function rev નો ઉપયોગ કરો.
07:16 ઉદાહરણ તરીકે, રોલ ક્રમાંક જો A001 હોય, તો આઉટપુટ 100A હોવું જોઈએ.
07:24 સમાન માટે કોડ Code Files લિંકમાં reverse_roll.awk તરીકે પ્રદાન કરવામાં આવ્યો છે.
07:31 અહીં આ ટ્યુટોરીઅલનો અંત થાય છે.

ચાલો સારાંશ લઈએ.

07:36 આ ટ્યુટોરીઅલમાં આપણે આપેલ વિશે શીખ્યા- function definition નું સિન્ટેક્સ
07:41 Function call અને Return statement
07:45 એસાઇનમેન્ટ તરીકે- 1. 2D matrix નું transpose બનાવવા માટે function લખો
07:52 array માંથી the minimum value એલિમેન્ટ રિટર્ન કરવા માટે function લખો
07:58 આપેલ લિંક પર ઉપલબ્ધ વિડિઓ સ્પોકન ટ્યુટોરીયલ પ્રોજેક્ટનો સારાંશ આપે છે.

કૃપા કરી તેને ડાઉનલોડ કરીને નિહાળો.

08:06 Spoken Tutorial Project ટીમ સ્પોકન ટ્યુટોરીયલોનો ઉપયોગ કરીને વર્કશોપો આયોજે છે.

અને ઓનલાઇન પરીક્ષા પાસ થવા પર પ્રમાણપત્રો આપે છે.

08:16 વધુ વિગત માટે, કૃપા કરી અમને લખો.
08:20 તમારા પ્રશ્નોને આ ફોરમ પર પોસ્ટ કરો.
08:24 સ્પોકન ટ્યુટોરીયલ પ્રોજેક્ટને NMEICT, MHRD, ભારત સરકાર દ્વારા ફાળો અપાયો છે.

આ મિશન પર વધુ માહિતી આ લિંક પર ઉપલબ્ધ છે.

08:36 ભાષાંતર કરનાર, હું ભરત સોલંકી હવે આપથી વિદાય લઉં છું.

જોડાવા બદ્દલ આભાર.

Contributors and Content Editors

Bharat636