関数型プログラミング-レコード
レコードは、固定数の要素を格納するためのデータ構造です。これは、C言語の構造体に似ています。コンパイル時に、その式はタプル式に変換されます。
レコードを作成する方法は?
キーワード「record」は、レコード名とそのフィールドで指定されたレコードを作成するために使用されます。その構文は次のとおりです-
record(recodname, {field1, field2, . . fieldn})
レコードに値を挿入するための構文は次のとおりです。
#recordname {fieldName1 = value1, fieldName2 = value2 .. fieldNamen = valuen}
Erlangを使用してレコードを作成するプログラム
次の例では、名前のレコードを作成しました student 2つのフィールドがあります。 sname そして sid。
-module(helloworld).
-export([start/0]).
-record(student, {sname = "", sid}).
start() ->
S = #student{sname = "Sachin",sid = 5}.
C ++を使用してレコードを作成するプログラム
次の例は、オブジェクト指向プログラミング言語であるC ++を使用してレコードを作成する方法を示しています。
#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;
}
Erlangを使用してレコード値にアクセスするプログラム
次のプログラムは、関数型プログラミング言語であるErlangを使用してレコード値にアクセスする方法を示しています。
-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]).
次の出力が生成されます-
5
"Sachin"
C ++を使用してレコード値にアクセスするプログラム
次のプログラムは、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;
}
次の出力が生成されます-
5
Sachin
レコード値は、値を特定のフィールドに変更してから、そのレコードを新しい変数名に割り当てることで更新できます。次の2つの例を見て、オブジェクト指向および関数型プログラミング言語を使用してどのように行われるかを理解してください。
Erlangを使用してレコード値を更新するプログラム
次のプログラムは、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]).
次の出力が生成されます-
5
"Jonny"
C ++を使用してレコード値を更新するプログラム
次のプログラムは、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;
}
次の出力が生成されます-
Jonny
5
value after updating
Jonny
10