Programowanie funkcjonalne - rekordy
Rekord to struktura danych służąca do przechowywania określonej liczby elementów. Jest podobna do struktury w języku C. W momencie kompilacji jej wyrażenia są tłumaczone na wyrażenia krotki.
Jak stworzyć rekord?
Słowo kluczowe „rekord” służy do tworzenia rekordów określonych nazwą rekordu i jego polami. Jego składnia jest następująca -
record(recodname, {field1, field2, . . fieldn})
Składnia wstawiania wartości do rekordu to -
#recordname {fieldName1 = value1, fieldName2 = value2 .. fieldNamen = valuen}
Program do tworzenia rekordów za pomocą Erlang
W poniższym przykładzie utworzyliśmy rekord imienia student posiadające dwa pola, tj. sname i sid.
-module(helloworld).
-export([start/0]).
-record(student, {sname = "", sid}).
start() ->
S = #student{sname = "Sachin",sid = 5}.
Program do tworzenia rekordów w C ++
Poniższy przykład pokazuje, jak tworzyć rekordy przy użyciu C ++, który jest językiem programowania obiektowego -
#include<iostream>
#include<string>
using namespace std;
class student {
public:
string sname;
int sid;
15
};
int main() {
student S;
S.sname = "Sachin";
S.sid = 5;
return 0;
}
Program do uzyskiwania dostępu do wartości rekordów za pomocą Erlang
Poniższy program pokazuje, jak uzyskać dostęp do wartości rekordów za pomocą Erlang, który jest funkcjonalnym językiem programowania -
-module(helloworld).
-export([start/0]).
-record(student, {sname = "", sid}).
start() ->
S = #student{sname = "Sachin",sid = 5},
io:fwrite("~p~n",[S#student.sid]),
io:fwrite("~p~n",[S#student.sname]).
Wytworzy następujący wynik -
5
"Sachin"
Program do uzyskiwania dostępu do wartości rekordów przy użyciu C ++
Poniższy program pokazuje, jak uzyskać dostęp do wartości rekordów za pomocą C ++ -
#include<iostream>
#include<string>
using namespace std;
class student {
public:
string sname;
int sid;
};
int main() {
student S;
S.sname = "Sachin";
S.sid = 5;
cout<<S.sid<<"\n"<<S.sname;
return 0;
}
Wytworzy następujący wynik -
5
Sachin
Wartości rekordów można zaktualizować, zmieniając wartość w określonym polu, a następnie przypisując ten rekord do nowej nazwy zmiennej. Przyjrzyj się dwóm poniższym przykładom, aby zrozumieć, jak to się robi za pomocą języków programowania obiektowego i funkcjonalnego.
Program do aktualizacji wartości rekordów za pomocą Erlang
Poniższy program pokazuje, jak zaktualizować wartości rekordów za pomocą Erlang -
-module(helloworld).
-export([start/0]).
-record(student, {sname = "", sid}).
start() ->
S = #student{sname = "Sachin",sid = 5},
S1 = S#student{sname = "Jonny"},
io:fwrite("~p~n",[S1#student.sid]),
io:fwrite("~p~n",[S1#student.sname]).
Wytworzy następujący wynik -
5
"Jonny"
Program do aktualizacji wartości rekordów przy użyciu C ++
Poniższy program pokazuje, jak zaktualizować wartości rekordów za pomocą C ++ -
#include<iostream>
#include<string>
using namespace std;
class student {
public:
string sname;
int sid;
};
int main() {
student S;
S.sname = "Jonny";
S.sid = 5;
cout<<S.sname<<"\n"<<S.sid;
cout<<"\n"<< "value after updating"<<"\n";
S.sid = 10;
cout<<S.sname<<"\n"<<S.sid;
return 0;
}
Wytworzy następujący wynik -
Jonny
5
value after updating
Jonny
10