Operator Ternary: Tugasan Alternatif atau Kod Berlebihan?
Pertimbangkan coretan kod berikut:
if (string != null) { callFunction(parameters); } else { // Intentionally left blank }
Adakah ia mungkin untuk memfaktorkan semula ini menggunakan operator ternary?
The pengendali ternary dalam Java mempunyai sintaks berikut:
return_value = (true-false condition) ? (if true expression) : (if false expression);
Jika keadaan adalah benar, ungkapan selepas tanda soal (!) dinilai dan diberikan kepada nilai pulangan. Jika tidak, ungkapan selepas titik bertindih (:) dinilai dan diberikan.
Dalam kod yang diberikan, pernyataan if-else menyemak sama ada pembolehubah rentetan bukan nol dan memanggil fungsi jika benar. Kita boleh mengandaikan dua senario yang mungkin:
callFunction() Mempunyai Nilai Pulangan Tidak Kosong:
Dalam kes ini, kita boleh menggunakan operator ternary sebagai berikut:
return_value = (string != null) ? callFunction(parameters) : null;
Adalah penting untuk ambil perhatian bahawa operator ternary bertujuan untuk tugasan alternatif. Dalam kod yang diberikan, klausa benar memanggil fungsi, yang tidak memberikan nilai secara langsung. Akibatnya, menggunakan operator ternary di sini tidak masuk akal.
Sebaliknya, jika objektifnya adalah untuk memudahkan kod menjadi satu baris, pilihan berikut boleh dipertimbangkan:
Alih keluar klausa palsu kerana ia adalah tidak perlu:
if (string != null) { callFunction(parameters); }
Gunakan sintaks satu baris:
if (string != null) callFunction(parameters);
Atas ialah kandungan terperinci Operator Ternary: Patutkah Anda Menggunakannya untuk Panggilan Fungsi?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!