Nama untuk Fungsi yang Mengembalikan Argumennya?

34

Fungsi yang tidak melakukan apa-apa, tidak mengambil argumen dan tidak mengembalikan apa pun secara tradisional disebut a noop, atau no-op. Contoh noop ada di bawah ini:

function noop(){}

http://en.wikipedia.org/wiki/NOP

Jadi apakah ada nama untuk fungsi yang hanya dimaksudkan untuk mengembalikan argumennya, dan tidak melakukan hal lain? Contoh fungsi semacam ini:

function(a){return a}
Pembisik kode
sumber
17
Untuk pemilih dekat: Ini bukan pertanyaan berdasarkan opini, ada jawaban yang pasti.
Daenyth
@Daenyth "Ini juga dikenal sebagai pass-through" - mungkin tidak se definitif seperti yang terlihat
nyamuk
2
@gnat pass-through digunakan untuk merujuk ke metode dalam subkelas yang memanggil metode induk tanpa mengubah parameter atau apa pun yang dikembalikan metode induk. Tetapi metode super mungkin tidak menghasilkan apa pun atau sesuatu yang sama sekali berbeda. Mengembalikan hal yang sama yang dilewatkan bukan bagian dari definisi pass-through. Jika ya, itu hanya karena metode induk spesifik yang melakukannya. Faktanya, metode kelas OO yang tidak melakukan apa-apa selain mengembalikan nilai yang sama dengan yang mereka berikan sangat jarang.
itsbruce
4
@Snowman Itu bukan pernyataan yang diinformasikan. Dalam bahasa apa pun yang mendukung Fungsi Orde Tinggi, yang dapat mengembalikan fungsi yang dapat melakukan hal sembarang ke input yang diberikan, sangat berguna untuk dapat mengembalikan, dalam beberapa keadaan, fungsi yang tidak mengubah input. Ini memungkinkan aliran kontrol dibuat dengan fungsi daripada kata kunci. Ketika melipat daftar (atau struktur lain) untuk membuat fungsi majemuk (seperti pada daftar perbedaan), fungsi identitas seringkali merupakan nilai benih alami.
itsbruce

Jawaban:

65

Ini disebut fungsi identitas dan kadang-kadang disingkat sebagai idteori kategori dan bahasa pemrograman fungsional.

Doval
sumber
4
Meskipun harus dicatat bahwa kebanyakan programmer tidak memiliki latar belakang formal atau pengetahuan pemrograman fungsional untuk mengetahui hal itu. Ini juga dikenal sebagai pass-through.
Telastyn
5
Saya telah melakukan banyak matematika formal, tetapi untuk beberapa alasan saya tidak ingat jawabannya sampai saya melihat ini dan facepalmed.
Ixrec
5
@ Telastyn Dan di Jawa 8 masih disebut "identitas". Nama ini keluar dari matematika / latar belakang fungsional dan menjadi standar.
Izkata
3
Memang. Dan fakta bahwa ia memiliki akar formal, dikombinasikan dengan penyebaran kesadaran istilah tersebut, membuatnya lebih berguna daripada beberapa jargon sewenang-wenang, khusus bahasa.
itsbruce
11
@Telastyn "pass through" hampir selalu digunakan dalam OO merujuk khusus untuk metode yang memanggil metode orangtua tanpa mengubah parameter. Itu lebih spesifik dan terbatas daripada konsep fungsi identitas, paling tidak karena metode OO sering kali tidak akan menghasilkan apa-apa selain argumen - atau sesuatu yang sama sekali berbeda. Jadi sementara pass-through akan mengembalikan hal yang sama dengan metode super, sama sekali tidak diperlukan untuk mengembalikan argumen asli. Ini adalah hal yang berbeda.
itsbruce