Mảng Trong Ruby
Có thể bạn quan tâm
- Lập trình PHP
- PSR
- Laminas
- SPL
- Xenforo
- Zend Framework
- Lập trình ứng dụng iOS - Swift
- Ruby
- Sketchup
- Lập trình Dart - Flutter
- Lập trình C# (C Sharp)
- Lập trình C# Cơ bản
- Server
- MySql Server
- Windows
- Apache
- PHP
- HTML
- Javascript
- JQuery
- TypeScript - Angular
- CSS
- Sử dụng SASS / SCSS
- Bootstrap - CSS Framework
- SQL
- SQL Server ( .NET Framework - C#)
- MS Access
- Java
- Android Java
- Thuật ngữ - Các vấn đề cơ bản
- Tools
- Git và GitHub
- Kubernetes
- Mathematica
- SSH - Secure Shell
- Grunt
- Elasticsearch
- Docker
- macOS
- English Study
- Tin tức công nghệ
- Tri thức & Khoa học
- Yoga
- Ruby
Khai báo và sử dụng mảng, các phép toán trên mảng, duyệt qua các phần tử mảng trong ngôn ngữ lập trình Ruby
- Mảng trong Ruby
- Kiểu phần tử, thêm bớt phần tử mảng
- Lấy ra nhiều phần tử mảng
- Kết hợp mảng
- Các phương thức trong mảng
- Duyệt qua các phần tử mảng
- Mảng nhiều chiều
Mảng trong Ruby
Mảng là một danh sách các phần tử, khai báo mảng dùng ký hiệu [] rồi liệt kê bên trong nó giá trị các phần tử, mỗi phần tử cách nhau bởi dấu ,
# mảng các số numbers = [1,3,5,7] # mảng tên names = ["Nam", "Minh", "Long", "Viet"]Mỗi phần tử trong mảng có một chỉ số, phần tử đầu tiên chỉ số là 0, để truy cập (đọc/gán) một phần tử dùng kỹ hiệu [chỉ-số]
names = ["Hùng", "Hà", "Dân"] puts names[2] # Đọc phần tử chỉ số 2 của mảng names names[2] = "Nguyễn Văn Dân" # Gán phần tử thứ hai một giá trị mới puts names[2] # Đọc phần tử chỉ số 2 của mảng names # In ra: # Dân # Nguyễn Văn DânTrong Ruby có thể dùng chỉ số âm, -1 là phần tử cuối của mảng, -2 là trước phần tử cuối ...
Kiểu phần tử trong mảng, thêm bớt phần tử mảng
- Các phần tử trong mảng có thể có kiểu dữ liệu bất kỳ, phần tử này một kiểu phần tử kia có thể là kiểu khác. mang=[1, 1.2, "Abc"]
- Để thêm phần tử mới vào mảng, nối vào cuối dùng toán tử << mang << 10 # thêm một phần tử cuối, có giá trị 10
Có thể thay toán tử << bằng phương thức push
mang.push(10) # thêm một phần tử cuối, có giá trị 10 - Để chèn phần tử vào vị trí có index cụ thể dùng phương thức insert mang.insert(0,100) # chèn vào vị trí đầu tiên phần tử có giá trị 100
- Để xóa phần tử cuối dùng phương thức pop, xóa một phần tử ở index cụ thể dùng phương thức delete_at arr = [1,2,"A", "B"] a = arr.pop # xóa phần tử cuối, đồng thời lưu lại vào a b = arr.delete_at(1) # xóa phần tử chỉ số 1, đồng thời lưu lại vào b puts arr
Lấy ra nhiều phần tử mảng
Có thể dùng dải dữ liệu mô tả chỉ số để trích xuất ra mảng con có các phần tử tương ứng với chỉ số đó
arr = [1,3,5,7,9,11] subarr = arr[1..4] puts subarr.inspect # In ra # [3, 5, 7, 9]Kết hợp mảng
Có thể kết hợp hai mảng thành một mảng
a = [1, 2, 3, 4] b = [4, 5] c = a + b print c.inspect # [1, 2, 3, 4, 4, 5]Có thể thực hiện phép hiệu hai tập hợp
a = [1, 2, 3, 4] b = [4, 5, 7] c = a - b # c gồm các phần tử thuộc a nhưng không thuộc b, a - b là khác b - a puts c.inspect # [1, 2, 3]Có thể tạo mảng mới bằng cách copy số phần nhiều lần với phép *
a = [1,2,3] puts (a * 3).inspect # [1, 2, 3, 1, 2, 3, 1, 2, 3]Phép toán giao hai mảng &
Toán tử & lấy giao hai mảng, các phần tử có cả ở hai mảng
a = [2, 3, 7, 8] b = [2, 7, 9] print a & b # [2, 7]Phép toán hợp hai mảng |
Toán tử | lấy hợp của hai mảng, gồm tất cả các phần tử có trong hai mảng, các phần tử trùng nhau giữ lại 1
a = [2, 3, 7, 8] b = [2, 7, 9] print a | b # [2, 3, 7, 8, 9]Đảo thứ tự mảng
Có thể tạo ra mảng mới mà các phần tử có chỉ số đảo ngược so với mảng gốc bằng phương thức reverse
arr = [1, 2, 3] puts arr.reverse.inspect # [3,2,1]Có thể dùng phương thức reverse! để đảo ngược bản thân mảng gốc
Các phương thức trong mảng
Phương thức | Diễn giải |
---|---|
array.length | Trả về số lượng phần tử trong mảng |
array.sort | Trả về mảng mới có sắp xếp |
array.uniq | Trả về mảng mới các phần tử trùng nhau giữ lại một |
array.uniq! | Phần tử trùng nhau giữ lại một |
array.freeze | Ngăn cản sửa đổi mảng |
array.include?(obj) | Trả về true nếu có phần tử với giá trị obj |
array.max | Trả về phần tử lớn nhất |
array.min | Trả về phần tử nhỏ nhất |
Duyệt các phần tử mảng
Duyệt qua các phần tử mảng bằng lệnh for
arr = [3,5,6,78] for x in arr puts "Giá trị: #{x}" endDuyệt qua các phần tử bằng phương thức each
a = [ "a", "b", "c" ] a.each { |x| # định nghĩa biến lưu phần tử mảng khi duyệt qua print x, " -- " }Duyệt qua mỗi phần tử của mảng và thực hiện khối lệnh {} cho mỗi phần tử mảng đó, giá trị phần tử mảng lưu ở biến định nghĩa trong ký hiệu |biến| xuất hiện đầu khối.
Duyệt qua các chỉ số phần tử bằng phương thức each_index
a = [ "a", "b", "c" ] a.each_index { |index| puts "phần tử #{index} có giá trị #{a[index]}" } # phần tử 0 có giá trị a # phần tử 1 có giá trị b # phần tử 2 có giá trị cMảng nhiều chiều - mảng trong mảng
Mỗi phần tử trong mảng có thể là đối tượng bất kỳ, có nghĩa là có thể là một mảng con. Bảng cách khai báo mảng chứa các phần tử cũng là mảng sẽ hình thành lên mảng nhiều chiều.
Ví dụ mảng trong mảng
a = [[1,2,3], [4,5,6]] puts a[1][2] # Truy vấn vào mảng con thứ hai, lấy phần tử thứ ba của mảng con này # 6 Mục lục bài viết Mảng trong RubyKiểu phần tử, thêm bớt phần tử mảngLấy ra nhiều phần tử mảngKết hợp mảngCác phương thức trong mảngDuyệt qua các phần tử mảngMảng nhiều chiều ĐĂNG KÝ KÊNH, XEM CÁC VIDEO TRÊN XUANTHULAB Đăng ký nhận bài viết mới Làm việc với file trong Ruby Proc và Lambda trong Ruby Struct OStruct và lớp Math Time trong Ruby Module Mixin Namespace trong lập trình Ruby Tính kế thừa và đóng gói trong Ruby Các vòng lặp while until for do trong Ruby Cấu trúc rẽ nhánh if unless case trong Ruby Kiểu Boolean toán tử so sánh toán tử logic Chuỗi ký tự và nhập dữ liệu trong Ruby Các toán tử số học trong ruby Vòng lặp: while, for, do, until, break, next (Bài trước) (Bài tiếp) Hash, Symbol, Iterator Giới thiệuPrivacyTừ điển Anh - ViệtChạy SQLRegExpCubic-bezierUnix timestampKý tự HTMLcalories, chỉ số BMRchỉ số khối cơ thể BMITạo QR CodeLịch vạn niên Liên hệ RSSĐây là blog cá nhân, tôi ghi chép và chia sẻ những gì tôi học được ở đây về kiến thức lập trình PHP, Java, JavaScript, Android, C# ... và các kiến thức công nghệ khác Developed by XuanThuLab
Từ khóa » Duyệt Mảng
-
Duyệt Mảng Một Chiều
-
Duyệt Mảng Trong Java - VietTuts
-
Duyệt Mảng Trong JavaScript
-
Duyệt Mảng Trong Java
-
Các Hàm Duyệt Mảng Hay Trong Javascript Mà Bạn Nên Biết - Viblo
-
Các Hàm Duyệt Mảng Hay Sử Dụng Trong Javascript - Viblo
-
Khai Báo Và Duyệt Mảng Trong Javascript - Freetuts
-
4 Cách Duyệt Mảng Mà Không Cần Dùng Vòng Lặp Trong JavaScript
-
6 Cách Duyệt Mảng Trong Java
-
Duyệt Mảng Trong Java - Lập Trình Từ Đầu
-
Bài 11: Duyệt Mảng - Numpy Trong Python
-
Duyệt Mảng Trong JavaScript - Lập Trình Từ Đầu
-
Duyệt Và In Mảng Bởi Sử Dụng Con Trỏ Trong C
-
Mảng Array Trong Swift