


Contoh membuktikan bahawa ChatGPT mempunyai impak yang besar kepada pengaturcara biasa!
Artikel ini membawakan anda pengetahuan yang berkaitan tentang ChatGPT terutamanya bercakap tentang cara saya menggunakan contoh untuk membuktikan kesan atau bantuan ChatGPT kepada kami pengaturcara biasa? Rakan-rakan yang berminat boleh lihat di bawah ini semoga bermanfaat untuk semua.
Saya baru sahaja melihat soalan dalam komuniti, tertanya-tanya bagaimana untuk menulis logik penghakiman berikut dengan elegan:
( Ia dapat dilihat bahawa terdapat banyak logik penghakiman dan tidak tidak perlu terperinci. dimuat naik di Internet.Jadi saya menghantar soalan asal kepada腐植酸含量 30 g/L(不低于 30 g/L)(右边有 +- 键,可以增加或减少,但净含量不低于 30 g/L)。大量元素含量(合计不低于 200 g/L):氮 70 g/L (下边有两个选择,UAN 或氮,每个健右边有 +- 键,可以增加或减少,下同), 磷 70 g/L (下边有两个选择,磷酸一铵或磷酸二铵,每个健右边有 +- 键,可以增加或减少,下同),钾 60 g/L (下边有四个选择,氯化钾、硫酸钾、硝酸钾或磷酸二氢钾,每个健右边有 +- 键,可以增加或减少,下同)。至少包括两种元素,单一元素净含量不低于 20 g/L,氮、磷、钾三个相加不能低于 200 g/L,低于 200 g/L 弹出错误提示。Salin selepas log masukdan mendapat jawapan berikut:游离氨基酸 100 g/L(不低于 100 g/L)(右边有 +- 键,可以增加或减少,但净含量不低于 100 g/L),微量元素(不低于 20 g/L):铁 4 g/L (每个右边有 +- 键,可以增加或减少,至少包括 1 种微量元素,6 种元素净含量总和不低于 20 g/L,低于则有错误提示。若添加任一微量元素,不低于 0.5 g/L,低于则有错误提示)、锌 4g/L、硼 4g/L、铜 4g/L、锰 3.5g/L、钼 0.5g/L(右边有 +- 键,可以增加或减少,钼净含量不能高于 5 g/L,高于则有错误提示)Salin selepas log masuk(Memandangkan rangkaian saya tidak begitu stabil, jawapan yang saya dapat sering mengatakan bahawa rangkaian telah diputuskan sambungan separuh jalan, jadi saya cuma Lulus beberapa contoh)
ChatGPT
Jawapan ChatGPT versi 1.1ChatGPT
Dalam rangka kerja Laravel, anda boleh menggunakan pengesah borang untuk mengesahkan syarat. Langkah pelaksanaan khusus Seperti berikut:
Buat peraturan pengesahan tersuai
Dalam rangka kerja Laravel, anda boleh menggunakan perintah
untuk mencipta kelas Peraturan peraturan pengesahan tersuai. Kelas peraturan pengesahan tersuai ini perlu melaksanakan antara muka- dan menulis logik peraturan pengesahan di dalamnya.
- Contohnya, anda boleh mencipta kelas peraturan pengesahan tersuai bernama
untuk mengesahkan syarat baja:
, anda boleh melaksanakan kaedah php artisan make:rule
untuk berbuat demikian Pengesahan, jika pengesahan berjaya, kembalikan IlluminateContractsValidationRule
, jika tidak, kembalikan
: FertilizerRule
$ php artisan make:rule FertilizerRule
FertilizerRule
Tulis logik pengesahan passes
true
false
namespace App\Rules; use Illuminate\Contracts\Validation\Rule; class FertilizerRule implements Rule { public function passes($attribute, $value) { // TODO: 编写肥料条件的验证逻辑 } public function message() { return 'The :attribute is invalid.'; } }
- Nampaknya terdapat perbezaan antara keanggunan yang diperlukan oleh topik, jadi saya terus bertanya
FertilizerRule
<?php namespace App\Rules; use Illuminate\Contracts\Validation\Rule; class FertilizerRule implements Rule { public function passes($attribute, $value) { // 验证腐植酸含量 if (!isset($value['humic_acid']) || $value['humic_acid'] < 30) { return false; } // 验证大量元素含量 $total_npk = $value['nitrogen'] + $value['phosphorus'] + $value['potassium']; if ($total_npk < 200) { return false; } if ($value['nitrogen'] < 70 || $value['phosphorus'] < 70 || $value['potassium'] < 60) { return false; } // 验证至少包括两种元素,单一元素净含量不低于 20 g/L $count = 0; foreach (['nitrogen', 'phosphorus', 'potassium'] as $element) { if ($value[$element] >= 20) { $count++; } } if ($count < 2) { return false; } // 验证游离氨基酸含量 if (!isset($value['amino_acid']) || $value['amino_acid'] < 100) { return false; } // 验证微量元素含量 $total_trace = 0; $trace_elements = ['iron', 'zinc', 'boron', 'copper', 'manganese', 'molybdenum']; foreach ($trace_elements as $element) { if (isset($value[$element])) { $total_trace += $value[$element]; } } if (count(array_filter($value, function ($v) { return $v >= 0.5; })) < 1 || $total_trace < 20 || //...代码不完整
Berikut ialah pengoptimuman yang mungkin:Kini, kami telah memecahkan logik pengesahan kepada empat fungsi bebas, masing-masing memfokuskan pada pengendalian keadaan tertentu. Ini menjadikan kod lebih ringkas dan lebih mudah difahami.
Akhir sekali, kami menggabungkan fungsi ini dan menggunakannya dalam fungsi pengesahan untuk mengesahkan nilai input. Jika input tidak sah, false dikembalikan dan mesej ralat dikeluarkan. Jika tidak, kembali benar. Perlu diambil perhatian bahawa mesej ralat di sini ditandakan dengan ulasan dan sebenarnya harus dikeluarkan melalui mekanisme pengendalian ralat yang disediakan oleh rangka kerja Laravel.
Anda boleh melihatnya
Menurut soalan saya, saya menukar cara menggunakan fungsi untuk menyelesaikan masalah iniSaya akan terus bertanya:
function validateHumicAcid($value) { return $value >= 30; } function validateMacroElements($nitrogen, $phosphorus, $potassium) { $sum = $nitrogen + $phosphorus + $potassium; return $sum >= 200 && $nitrogen >= 20 && $phosphorus >= 20 && $potassium >= 20; } function validateTraceElements($iron, $zinc, $boron, $copper, $manganese, $molybdenum) { $sum = $iron + $zinc + $boron + $copper + $manganese + $molybdenum; $atLeastOne = $iron >= 0 || $zinc >= 0 || $boron >= 0 || $copper >= 0 || $manganese >= 0 || $molybdenum >= 0; $atLeastSix = $sum >= 20; return $atLeastOne && $atLeastSix && $molybdenum <= 5; } function validateAminoAcids($value) { return $value >= 100; } function validate($humicAcid, $nitrogen, $phosphorus, $potassium, $iron, $zinc, $boron, $copper, $manganese, $molybdenum, $aminoAcids) { $isValid = true; if (!validateHumicAcid($humicAcid)) { $isValid = false; // 输出错误提示 } if (!validateMacroElements($nitrogen, $phosphorus, $potassium)) { $isValid = false; // 输出错误提示 } if (!validateTraceElements($iron, $zinc, $boron, $copper, $manganese, $molybdenum)) { $isValid = false; // 输出错误提示 } if (!validateAminoAcids($aminoAcids)) { $isValid = false; // 输出错误提示 } return $isValid; }
Baiklah, izinkan saya menunjukkan kepada anda cara mereka bentuk keperluan ini menggunakan rangka kerja Laravel dan corak reka bentuk Rantaian Tanggungjawab.Pertama, kita perlu mentakrifkan kelas pengesah untuk mengesahkan sama ada setiap syarat dipenuhi. Kelas ini boleh melaksanakan antara muka IlluminateContractsValidationValidator dalam rangka kerja Laravel, supaya ia boleh disepadukan dengan mudah dengan komponen validator terbina dalam Laravel.
ChatGPT
Seterusnya, kita boleh mentakrifkan kelas asas abstrak Boleh Sah, yang mentakrifkan kaedah abstrak mengesahkan untuk mengesahkan sama ada nilai input memenuhi syarat yang ditentukan. Kita boleh mentakrifkan kelas pengesah tertentu berdasarkan setiap syarat Kelas ini mewarisi daripada Boleh Sah dan melaksanakan kaedah pengesahan untuk pengesahan khusus.
Akhir sekali, kita boleh menggunakan corak rantaian tanggungjawab untuk mengatur kelas pengesah ini supaya mereka mengesahkan nilai input mengikut turutan. Setiap kelas validator boleh menetapkan atribut seterusnya yang memegang contoh kelas validator seterusnya. Dalam kaedah pengesahan, jika pengesah semasa gagal untuk mengesahkan, kaedah pengesahan pengesah seterusnya akan dipanggil, dan seterusnya, sehingga semua pengesah telah disahkan atau seorang pengesah gagal.
Berikut ialah kod sampel untuk mengesahkan dua syarat kandungan asid humik dan kandungan makronutrien:
Ringkasan
Ya saya nampak bahawaChatGPT
Ia sama dengan memberi saya beberapa kaedah dan idea baharu untuk menyelesaikan masalah, atau kaedah dan idea yang saya tidak tahu
Jika saya tidak mempunyai idea untuk fungsi tertentu pada masa hadapan, mengapa tidak Mari kita tanyaChatGPT
~
Kajian yang disyorkan: "tutorial video laravel"
Atas ialah kandungan terperinci Contoh membuktikan bahawa ChatGPT mempunyai impak yang besar kepada pengaturcara biasa!. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas



Kaedah untuk mendapatkan kod kembali apabila menghantar e -mel Laravel gagal. Apabila menggunakan Laravel untuk membangunkan aplikasi, anda sering menghadapi situasi di mana anda perlu menghantar kod pengesahan. Dan pada hakikatnya ...

Tugas Jadual Laravel menjalankan penyelesaian masalah yang tidak responsif semasa menggunakan penjadualan tugas jadual Laravel, banyak pemaju akan menghadapi masalah ini: Jadual: Jalankan ...

Kaedah mengendalikan kegagalan e -mel Laravel untuk menghantar kod pengesahan adalah menggunakan Laravel ...

Cara melaksanakan fungsi jadual klik tersuai untuk menambah data dalam dcatadmin (laravel-admin) semasa menggunakan dcat ...

Kesan perkongsian sambungan Redis dalam rangka kerja Laravel dan pilih kaedah apabila menggunakan Rangka Kerja Laravel dan Redis, pemaju mungkin menghadapi masalah: melalui konfigurasi ...

Kecerdasan buatan fizikal yang terdesentralisasi (DEPAI) memimpin arah baru dalam pembangunan kecerdasan buatan dan menyediakan penyelesaian inovatif untuk mengawal robot dan infrastruktur yang berkaitan. Artikel ini akan menjalankan perbincangan mendalam mengenai DEPAI dan aplikasinya dalam bidang pemerolehan data, operasi jauh dan kecerdasan spatial, dan menganalisis prospek pembangunannya. Sebagai Ketua Pegawai Eksekutif Nvidia Huang Renxun berkata, "momen chatgpt" dalam bidang robot umum akan datang tidak lama lagi. Proses pembangunan kecerdasan buatan, dari perkakasan ke perisian, kini bergerak ke arah dunia fizikal. Dalam era populariti robot masa depan, DEPAI menyediakan peluang penting untuk membina ekosistem kecerdasan buatan fizikal berdasarkan WEB3, terutamanya apabila pasukan berpusat belum sepenuhnya menguasai pasaran. Penggunaan luas agen kecerdasan buatan fizikal autonomi akan membawa robot,

Sambungan pangkalan data penyewa tersuai dalam pakej lanjutan multi-penyewa Larave Stancl/penyewaan ketika membina aplikasi multi-penyewa menggunakan pakej lanjutan multi-penyewa Larave Stancl/penyewaan, ...

Kebangkitan kecerdasan buatan fizikal yang terdesentralisasi (DEPAI): integrasi robot dan teknologi kecerdasan buatan Web3 berubah dengan setiap hari berlalu, dan kecerdasan buatan fizikal yang terdesentralisasi (DEPAI) telah membawa penyelesaian revolusioner untuk mengawal robot dan infrastruktur kecerdasan buatan fizikal. DEPAI berkembang maju dari pengambilalihan data dunia sebenar kepada operasi robotik pintar berdasarkan penggunaan infrastruktur fizikal (DEPIN) yang terdesentralisasi. Sebagai Ketua Pegawai Eksekutif Nvidia, Huang Renxun berkata: "Masa chatgpt dalam bidang robot umum akan datang tidak lama lagi." Pada masa akan datang, kecerdasan buatan fizikal autonomi
