Unterscheidet sich die funktionale Programmierung oder ist sie wirklich schwieriger ?
Sagen wir, jemand, der noch nie Programmieren gelernt hat und in funktionalem Programmieren unterrichtet wird. gegen jemanden, der das Programmieren noch nie erlernt hat und der das Imperative Programmieren gelernt hat. was wird er härter finden? oder das selbe?
Meine frage: sag mal das problem ist jetzt einen eingang zu camel-case,
so qwe_asd_zxc_rty_fgh_vbn
wird dasqweAsdZxcRtyFghVbn
Der prozedurale Weg ist:
- Teilen Sie es entlang der
_
- Durchlaufen Sie das Array und überspringen Sie das erste Element
- Für jeden Eintrag wird der erste Buchstabe in Großbuchstaben geschrieben
- Füge die Ergebnisse zusammen
Die Funktionsweise ist:
- Wenn keine
_
Rückgabe möglich istinput
- schneide die
input
entlang der ersten_
(so dass wir bekommenqwe
undasd_zxc_rty_gfh_cvb
) - Schreiben Sie den ersten Buchstaben von
head
groß und schreiben Sie ihn mitf(tail)
Ok, wenn Sie einen funktionalen Hintergrund und umfangreiche Erfahrung in der prozeduralen Programmierung haben, möchte ich Sie fragen: Werden Sie länger brauchen, um den prozeduralen Weg zu finden, oder werden Sie länger brauchen, um den funktionalen Weg zu finden?
Wenn Sie einen prozeduralen Hintergrund haben, aber langjährige Erfahrung mit funktionaler Programmierung haben, möchte ich dieselbe Frage stellen: Werden Sie länger brauchen, um den prozeduralen Weg zu finden, oder werden Sie länger brauchen, um das Funktionale herauszufinden? Weg?
x=x+1
kann ein unerwartetes Gehirn in die Luft jagen. Funktionale Programmierung ist selbstverständlich, sie ist nichts anderes als reine und zweckmäßige rein mathematische Funktionen.
map
für Schritt 3 anstelle einer mutierenden Schleife verwenden. Der zweite Ansatz würde ich nur in Betracht ziehen, wenn es in der Standardbibliothek keine Teilungsfunktion gibt (in diesem Fall sollte er mit einer Imperativlösung verglichen werden, die ebenfalls keine verwendetsplit
).