Programação Funcional - Strings

UMA stringé um grupo de personagens incluindo espaços. Podemos dizer que é uma matriz unidimensional de caracteres que termina com um caractere NULL ('\ 0'). Uma string também pode ser considerada como uma classe predefinida que é suportada pela maioria das linguagens de programação, como C, C ++, Java, PHP, Erlang, Haskell, Lisp, etc.

A imagem a seguir mostra como a string "Tutorial" ficará na memória.

Crie uma string em C ++

O programa a seguir é um exemplo que mostra como criar uma string em C ++, que é uma linguagem de programação orientada a objetos.

#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; 
}

Ele produzirá a seguinte saída -

Today is: Holiday

String em Erlang

O programa a seguir é um exemplo que mostra como criar uma string em Erlang, que é uma linguagem de programação funcional.

-module(helloworld).  
-export([start/0]).   
start() -> 
   Str = "Today is: Holiday",  
   io:fwrite("~p~n",[Str]).

Ele produzirá a seguinte saída -

"Today is: Holiday"

Operações de string em C ++

Diferentes linguagens de programação oferecem suporte a diferentes métodos em strings. A tabela a seguir mostra alguns métodos de string predefinidos compatíveis com C ++.

S.No. Método e Descrição
1

Strcpy(s1,s2)

Ele copia a string s2 para a string s1

2

Strcat(s1,s2)

Ele adiciona a string s2 no final de s1

3

Strlen(s1)

Ele fornece o comprimento da string s1

4

Strcmp(s1,s2)

Ele retorna 0 quando as strings s1 e s2 são iguais

5

Strchr(s1,ch)

Ele retorna um ponteiro para a primeira ocorrência do caractere ch na string s1

6

Strstr(s1,s2)

Ele retorna um ponteiro para a primeira ocorrência da string s2 na string s1

O programa a seguir mostra como os métodos acima podem ser usados ​​em C ++ -

#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; 
}

Ele produzirá a seguinte saída -

strcpy(str3, str1)   :  Today is 
strcat(str1, str2)   :  Today is Monday 
strlen(str1)         :  15

Operações de cordas em Erlang

A tabela a seguir mostra uma lista de métodos de string predefinidos com suporte por Erlang.

S.No. Método e Descrição
1

len(s1)

Retorna o número de caracteres na string fornecida.

2

equal(s1,s2)

Retorna verdadeiro quando a string s1 e s2 são iguais, caso contrário, retorna falso

3

concat(s1,s2)

Ele adiciona a string s2 no final da string s1

4

str(s1,ch)

Ele retorna a posição do índice do caractere ch na string s1

5

str (s1,s2)

Ele retorna a posição do índice de s2 na string s1

6

substr(s1,s2,num)

Este método retorna a string s2 da string s1 com base na posição inicial e no número de caracteres da posição inicial

7

to_lower(s1)

Este método retorna string em minúsculas

O programa a seguir mostra como os métodos acima podem ser usados ​​em Erlang.

-module(helloworld).  
-import(string,[concat/2]).  
-export([start/0]).  
   start() ->  
   S1 = "Today is ",  
   S2 = "Monday",  
   S3 = concat(S1,S2),  
   io:fwrite("~p~n",[S3]).

Ele produzirá a seguinte saída -

"Today is Monday"