Funktionale Programmierung - Strings
EIN stringist eine Gruppe von Zeichen einschließlich Leerzeichen. Wir können sagen, dass es sich um ein eindimensionales Array von Zeichen handelt, das durch ein NULL-Zeichen ('\ 0') abgeschlossen wird. Ein String kann auch als vordefinierte Klasse angesehen werden, die von den meisten Programmiersprachen wie C, C ++, Java, PHP, Erlang, Haskell, Lisp usw. unterstützt wird.
Das folgende Bild zeigt, wie die Zeichenfolge "Tutorial" im Speicher aussehen wird.
Erstellen Sie einen String in C ++
Das folgende Programm ist ein Beispiel, das zeigt, wie eine Zeichenfolge in C ++ erstellt wird, einer objektorientierten Programmiersprache.
#include <iostream>
using namespace std;
int main () {
char greeting[20] = {'H', 'o', 'l', 'i', 'd', 'a', 'y', '\0'};
cout << "Today is: ";
cout << greeting << endl;
return 0;
}
Es wird die folgende Ausgabe erzeugt -
Today is: Holiday
String in Erlang
Das folgende Programm ist ein Beispiel, das zeigt, wie eine Zeichenfolge in Erlang erstellt wird, einer funktionalen Programmiersprache.
-module(helloworld).
-export([start/0]).
start() ->
Str = "Today is: Holiday",
io:fwrite("~p~n",[Str]).
Es wird die folgende Ausgabe erzeugt -
"Today is: Holiday"
String-Operationen in C ++
Unterschiedliche Programmiersprachen unterstützen unterschiedliche Methoden für Zeichenfolgen. Die folgende Tabelle zeigt einige vordefinierte Zeichenfolgenmethoden, die von C ++ unterstützt werden.
S.No. | Methode & Beschreibung |
---|---|
1 | Strcpy(s1,s2) Es kopiert den String s2 in den String s1 |
2 | Strcat(s1,s2) Es fügt die Zeichenfolge s2 am Ende von s1 hinzu |
3 | Strlen(s1) Es gibt die Länge des Strings s1 an |
4 | Strcmp(s1,s2) Es gibt 0 zurück, wenn die Zeichenfolgen s1 und s2 gleich sind |
5 | Strchr(s1,ch) Es gibt einen Zeiger auf das erste Vorkommen des Zeichens ch in der Zeichenfolge s1 zurück |
6 | Strstr(s1,s2) Es gibt einen Zeiger auf das erste Vorkommen der Zeichenfolge s2 in der Zeichenfolge s1 zurück |
Das folgende Programm zeigt, wie die oben genannten Methoden in C ++ verwendet werden können -
#include <iostream>
#include <cstring>
using namespace std;
int main () {
char str1[20] = "Today is ";
char str2[20] = "Monday";
char str3[20];
int len ;
strcpy( str3, str1); // copy str1 into str3
cout << "strcpy( str3, str1) : " << str3 << endl;
strcat( str1, str2); // concatenates str1 and str2
cout << "strcat( str1, str2): " << str1 << endl;
len = strlen(str1); // String length after concatenation
cout << "strlen(str1) : " << len << endl;
return 0;
}
Es wird die folgende Ausgabe erzeugt -
strcpy(str3, str1) : Today is
strcat(str1, str2) : Today is Monday
strlen(str1) : 15
String-Operationen in Erlang
Die folgende Tabelle zeigt eine Liste vordefinierter Zeichenfolgenmethoden, die von Erlang unterstützt werden.
S.No. | Methode & Beschreibung |
---|---|
1 | len(s1) Gibt die Anzahl der Zeichen in der angegebenen Zeichenfolge zurück. |
2 | equal(s1,s2) Es gibt true zurück, wenn die Zeichenfolgen s1 und s2 gleich sind, andernfalls false |
3 | concat(s1,s2) Es fügt die Zeichenfolge s2 am Ende der Zeichenfolge s1 hinzu |
4 | str(s1,ch) Es gibt die Indexposition des Zeichens ch in der Zeichenfolge s1 zurück |
5 | str (s1,s2) Es gibt die Indexposition von s2 in der Zeichenfolge s1 zurück |
6 | substr(s1,s2,num) Diese Methode gibt die Zeichenfolge s2 von der Zeichenfolge s1 basierend auf der Startposition und der Anzahl der Zeichen von der Startposition zurück |
7 | to_lower(s1) Diese Methode gibt eine Zeichenfolge in Kleinbuchstaben zurück |
Das folgende Programm zeigt, wie die oben genannten Methoden in Erlang verwendet werden können.
-module(helloworld).
-import(string,[concat/2]).
-export([start/0]).
start() ->
S1 = "Today is ",
S2 = "Monday",
S3 = concat(S1,S2),
io:fwrite("~p~n",[S3]).
Es wird die folgende Ausgabe erzeugt -
"Today is Monday"