Pemrograman Fungsional - Tuple
Tupel adalah tipe data gabungan yang memiliki jumlah suku tetap. Setiap istilah dalam tupel dikenal sebagaielement. Jumlah elemen adalah ukuran tupel.
Program untuk mendefinisikan tupel di C #
Program berikut menunjukkan bagaimana mendefinisikan tupel dari empat istilah dan mencetaknya menggunakan C #, yang merupakan bahasa pemrograman berorientasi objek.
using System;
public class Test {
public static void Main() {
var t1 = Tuple.Create(1, 2, 3, new Tuple<int, int>(4, 5));
Console.WriteLine("Tuple:" + t1);
}
}
Ini akan menghasilkan keluaran sebagai berikut -
Tuple :(1, 2, 3, (4, 5))
Program untuk mendefinisikan tupel di Erlang
Program berikut menunjukkan bagaimana mendefinisikan tupel dari empat istilah dan mencetaknya menggunakan Erlang, yang merupakan bahasa pemrograman fungsional.
-module(helloworld).
-export([start/0]).
start() ->
P = {1,2,3,{4,5}} ,
io:fwrite("~w",[P]).
Ini akan menghasilkan keluaran sebagai berikut -
{1, 2, 3, {4, 5}}
Keuntungan dari Tuple
Tuple menawarkan keuntungan berikut -
Tupel adalah ukuran fined di alam yaitu kita tidak dapat menambah / menghapus elemen ke / dari tupel.
Kami dapat mencari elemen apa pun dalam tupel.
Tupel lebih cepat daripada daftar, karena mereka memiliki sekumpulan nilai yang konstan.
Tupel dapat digunakan sebagai kunci kamus, karena mengandung nilai yang tidak dapat diubah seperti string, angka, dll.
Tuple vs Daftar
Tuple | Daftar |
---|---|
Tuple adalah immutable, yaitu, kami tidak dapat memperbarui datanya. | Daftar adalah mutable, yaitu kita bisa mengupdate datanya. |
Elemen dalam tupel bisa berbeda tipe. | Semua elemen dalam daftar memiliki tipe yang sama. |
Tupel dilambangkan dengan tanda kurung bulat di sekitar elemen. | Daftar dilambangkan dengan tanda kurung siku di sekitar elemen. |
Operasi di Tuple
Pada bagian ini, kita akan membahas beberapa operasi yang dapat dilakukan pada tupel.
Periksa apakah nilai yang dimasukkan adalah Tuple atau bukan
Metode is_tuple(tuplevalues)digunakan untuk menentukan apakah nilai yang dimasukkan adalah tupel atau bukan. Ia kembalitrue ketika nilai yang dimasukkan adalah tupel, jika tidak, nilai itu kembali false. Sebagai contoh,
-module(helloworld).
-export([start/0]).
start() ->
K = {abc,50,pqr,60,{xyz,75}} , io:fwrite("~w",[is_tuple(K)]).
Ini akan menghasilkan keluaran sebagai berikut -
True
Mengubah Daftar menjadi Tupel
Metode list_to_tuple(listvalues)mengubah daftar menjadi tupel. Sebagai contoh,
-module(helloworld).
-export([start/0]).
start() ->
io:fwrite("~w",[list_to_tuple([1,2,3,4,5])]).
Ini akan menghasilkan keluaran sebagai berikut -
{1, 2, 3, 4, 5}
Mengonversi Tupel ke Daftar
Metode tuple_to_list(tuplevalues)mengonversi tupel tertentu ke format daftar. Sebagai contoh,
-module(helloworld).
-export([start/0]).
start() ->
io:fwrite("~w",[tuple_to_list({1,2,3,4,5})]).
Ini akan menghasilkan keluaran sebagai berikut -
[1, 2, 3, 4, 5]
Periksa ukuran tupel
Metode tuple_size(tuplename)mengembalikan ukuran tupel. Sebagai contoh,
-module(helloworld).
-export([start/0]).
start() ->
K = {abc,50,pqr,60,{xyz,75}} ,
io:fwrite("~w",[tuple_size(K)]).
Ini akan menghasilkan keluaran sebagai berikut -
5