Apakah mungkin untuk mendapatkan nilai kembalian 'n' dari suatu fungsi tanpa harus membuat variabel dummy untuk semua n-1
nilai kembalian sebelumnya?
Katakanlah, saya memiliki fungsi berikut di MATLAB:
function [a,b,c,d] = func()
a = 1;
b = 2;
c = 3;
d = 4;
Sekarang misalkan, saya hanya tertarik pada nilai pengembalian ketiga . Ini dapat dilakukan dengan membuat satu variabel dummy:
[dummy, dummy, variableThatIWillUse, dummy] = func;
clear dummy;
Tapi saya pikir ini agak jelek . Menurut saya, Anda mungkin dapat melakukan sesuatu seperti salah satu dari hal-hal berikut, tetapi Anda tidak dapat:
[_, _, variableThatIWillUse, _] = func;
[, , variableThatIWillUse, ] = func;
variableThatIWillUse = func(3);
variableThatIWillUse = func()(3);
Adakah cara elegan untuk melakukan ini yang berhasil?
Sejauh ini, solusi terbaik adalah dengan hanya menggunakan variableThatIWillUse
variabel dummy. Ini menyelamatkan saya dari keharusan membuat variabel dummy nyata yang mencemari ruang kerja (atau yang perlu saya bersihkan). Singkatnya: solusinya adalah menggunakan variableThatIWillUse
for setiap nilai pengembalian hingga nilai yang menarik. Kembalikan nilai setelah dapat dengan mudah diabaikan:
[variableThatIWillUse, variableThatIWillUse, variableThatIWillUse] = func;
Saya masih berpikir ini adalah kode yang sangat jelek, tetapi jika tidak ada cara yang lebih baik, maka saya kira saya akan menerima jawabannya.