Учебники

Функциональное программирование — строки

Строка — это группа символов, включая пробелы. Можно сказать, что это одномерный массив символов, который заканчивается символом NULL (‘\ 0’). Строку также можно рассматривать как предопределенный класс, который поддерживается большинством языков программирования, таких как C, C ++, Java, PHP, Erlang, Haskell, Lisp и т. Д.

На следующем рисунке показано, как строка «Учебник» будет выглядеть в памяти.

Струны

Создать строку в C ++

Следующая программа представляет собой пример, который показывает, как создать строку в C ++, который является объектно-ориентированным языком программирования.

Live Demo

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

Это даст следующий результат —

Today is: Holiday 

Строка в Эрланге

Следующая программа представляет собой пример, который показывает, как создать строку в Erlang, который является функциональным языком программирования.

Live Demo

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

Это даст следующий результат —

"Today is: Holiday" 

Строковые операции в C ++

Различные языки программирования поддерживают разные методы для строк. В следующей таблице показано несколько предопределенных строковых методов, поддерживаемых C ++.

S.No. Метод и описание
1

STRCPY (s1, s2)

Копирует строку s2 в строку s1

2

Strcat (s1, s2)

Добавляет строку s2 в конце s1

3

STRLEN (s1)

Это обеспечивает длину строки s1

4

STRCMP (s1, s2)

Возвращает 0, когда строки s1 и s2 совпадают

5

Strchr (s1, гл)

Возвращает указатель на первое вхождение символа ch в строке s1

6

Strstr (s1, s2)

Возвращает указатель на первое вхождение строки s2 в строку s1

STRCPY (s1, s2)

Копирует строку s2 в строку s1

Strcat (s1, s2)

Добавляет строку s2 в конце s1

STRLEN (s1)

Это обеспечивает длину строки s1

STRCMP (s1, s2)

Возвращает 0, когда строки s1 и s2 совпадают

Strchr (s1, гл)

Возвращает указатель на первое вхождение символа ch в строке s1

Strstr (s1, s2)

Возвращает указатель на первое вхождение строки s2 в строку s1

Следующая программа показывает, как вышеуказанные методы могут быть использованы в C ++ —

Live Demo

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

Это даст следующий результат —

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

Струнные операции в Эрланге

В следующей таблице приведен список предопределенных строковых методов, поддерживаемых Erlang.

S.No. Метод и описание
1

Len (s1)

Предоставляет строку s2 в строку s1

2

равен (s1, s2)

Возвращает true, когда строки s1 и s2 равны, иначе возвращает false

3

CONCAT (s1, s2)

Добавляет строку s2 в конце строки s1

4

ул (s1, гл)

Возвращает позицию индекса символа ch в строке s1

5

ул (с1, с2)

Возвращает позицию индекса s2 в строке s1

6

зиЬзЬг (s1, s2, Num)

Этот метод возвращает строку s2 из строки s1 на основе начальной позиции и количества символов из начальной позиции

7

to_lower (s1)

Этот метод возвращает строку в нижнем регистре

Len (s1)

Предоставляет строку s2 в строку s1

равен (s1, s2)

Возвращает true, когда строки s1 и s2 равны, иначе возвращает false

CONCAT (s1, s2)

Добавляет строку s2 в конце строки s1

ул (s1, гл)

Возвращает позицию индекса символа ch в строке s1

ул (с1, с2)

Возвращает позицию индекса s2 в строке s1

зиЬзЬг (s1, s2, Num)

Этот метод возвращает строку s2 из строки s1 на основе начальной позиции и количества символов из начальной позиции

to_lower (s1)

Этот метод возвращает строку в нижнем регистре

Следующая программа показывает, как вышеуказанные методы могут быть использованы в Erlang.

Live Demo

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

Это даст следующий результат —