34 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
			
		
		
	
	
			34 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
| ---
 | |
| title: Tuples
 | |
| localeTitle: الصفوف
 | |
| ---
 | |
| ## الصفوف
 | |
| 
 | |
| في الإكسير ، الصفوف هي بنية بيانات يمكنها الاحتفاظ بأي قيمة أو خليط من الأنواع. يتم تعريف المجموعات بواسطة الأقواس المتعرجة ، وتبدأ الفهارس الخاصة بها من 0. ولما كانت الصفوف يتم تخزينها بشكل متقارب في الذاكرة ، فإن الحصول على البيانات منها هو عملية سريعة جدًا.
 | |
| 
 | |
|  `iex> tuple = {:atom, "string"} 
 | |
|  {:atom, "string"} 
 | |
|  iex> elem(tuple, 0) 
 | |
|  :atom 
 | |
| ` 
 | |
| 
 | |
| ## ثبات
 | |
| 
 | |
| تعتبر الصفوف في Elixir غير قابلة للتغيير ، لذا فإن إجراء تعديلات سيؤدي إلى ظهور مجموعة جديدة تمامًا - مما يوفر النص الأصلي في الذاكرة.
 | |
| 
 | |
|  `iex> tuple = {:atom, "string"} 
 | |
|  {:atom, "string"} 
 | |
|  iex> put_elem(tuple, 1, true) 
 | |
|  {:atom, true} 
 | |
|  iex> tuple 
 | |
|  {:atom, "string"} 
 | |
| ` 
 | |
| 
 | |
| ## نمط مطابقة
 | |
| 
 | |
| الاستخدام الأكثر شيوعًا للصفوف في الإكسير هو بمثابة عودة لوظيفة. على سبيل المثال: `{:ok, "Hello World\n"}` هذا أمر مفيد للغاية ، لأنه يتيح استخدام مطابقة الأنماط للتعامل مع هذه العوائد.
 | |
| 
 | |
| #### معلومات اكثر:
 | |
| 
 | |
| *   [elixir-lang.org | العودية](https://elixir-lang.org/getting-started/basic-types.html#tuples)
 | |
| *   [hexdocs | التعداد](https://hexdocs.pm/elixir/Tuple.html) |