Tcl - Prosedur

Prosedur tidak lain adalah blok kode dengan serangkaian perintah yang menyediakan fungsionalitas khusus yang dapat digunakan kembali. Ini digunakan untuk menghindari pengulangan kode yang sama di beberapa lokasi. Prosedur setara dengan fungsi yang digunakan dalam banyak bahasa pemrograman dan tersedia di Tcl dengan bantuanproc perintah.

Sintaks untuk membuat prosedur sederhana ditunjukkan di bawah ini -

proc procedureName {arguments} {
   body
}

Contoh sederhana untuk prosedur diberikan di bawah ini -

#!/usr/bin/tclsh

proc helloWorld {} {
   puts "Hello, World!"
}
helloWorld

Ketika kode di atas dijalankan, itu menghasilkan hasil sebagai berikut -

Hello, World!

Prosedur dengan Banyak Argumen

Contoh untuk prosedur dengan argumen ditunjukkan di bawah ini -

#!/usr/bin/tclsh

proc add {a b} {
   return [expr $a+$b]
}
puts [add 10 30]

Ketika kode di atas dijalankan, itu menghasilkan hasil sebagai berikut -

40

Prosedur dengan Argumen Variabel

Contoh untuk prosedur dengan argumen ditunjukkan di bawah ini -

#!/usr/bin/tclsh

proc avg {numbers} {
   set sum 0
   foreach number $numbers {
      set sum  [expr $sum + $number]
   }
   set average [expr $sum/[llength $numbers]]
   return $average
}
puts [avg {70 80 50 60}]
puts [avg {70 80 50 }]

Ketika kode di atas dijalankan, itu menghasilkan hasil sebagai berikut -

65
66

Prosedur dengan Argumen Default

Argumen default digunakan untuk memberikan nilai default yang dapat digunakan jika tidak ada nilai yang diberikan. Contoh untuk prosedur dengan argumen default, yang terkadang disebut sebagai argumen implisit ditampilkan di bawah ini -

#!/usr/bin/tclsh

proc add {a {b 100} } {
   return [expr $a+$b]
}
puts [add 10 30]
puts [add 10]

Ketika kode di atas dijalankan, itu menghasilkan hasil sebagai berikut -

40
110

Prosedur Rekursif

Contoh untuk prosedur rekursif ditunjukkan di bawah ini -

#!/usr/bin/tclsh

proc factorial {number} {
   if {$number <= 1} {
      return 1
   } 
   return [expr $number * [factorial [expr $number - 1]]]

}
puts [factorial 3]
puts [factorial 5]

Ketika kode di atas dijalankan, itu menghasilkan hasil sebagai berikut -

6
120