Thay đổi mảng
Thuộc phần Kiến thức nền tảng trong hành trình Ruby của Coddy. Bài học 60 trên 88.
Bây giờ bạn đã biết cách truy cập các phần tử trong mảng, hãy cùng tìm hiểu cách thay đổi chúng. Bạn có thể sửa đổi bất kỳ phần tử nào bằng cách gán giá trị mới cho chỉ số của phần tử đó:
fruits = ["apple", "banana", "cherry"]
fruits[1] = "mango"
puts fruits # Đầu ra: apple, mango, cherryĐể thêm phần tử vào mảng, hãy dùng phương thức push hoặc toán tử xẻng <<. Cả hai đều thêm phần tử vào cuối mảng:
colors = ["red", "blue"]
colors.push("green")
colors << "yellow"
puts colors # In ra: red, blue, green, yellowĐể xóa phần tử, Ruby cung cấp một số lựa chọn. Phương thức pop xóa và trả về phần tử cuối cùng, còn shift xóa phần tử đầu tiên:
numbers = [1, 2, 3, 4]
numbers.pop # Xóa 4
numbers.shift # Xóa 1
puts numbers # In ra: 2, 3Bạn cũng có thể xóa một giá trị cụ thể bằng delete:
letters = ["a", "b", "c", "b"]
letters.delete("b")
puts letters # Đầu ra: a, cLưu ý rằng delete xóa mọi lần xuất hiện của giá trị được chỉ định khỏi mảng.
Thử thách
DễCho bạn mảng (array) sau:
tasks = ["email", "meeting", "lunch", "report", "call"]Đọc ba giá trị đầu vào:
- Một chỉ số (số nguyên), vị trí cần sửa
- Một giá trị mới (chuỗi), giá trị thay thế cho vị trí đó
- Một giá trị cần xóa (chuỗi), phần tử cần xóa khỏi mảng
Thực hiện các thao tác sau theo thứ tự:
- Thay phần tử tại chỉ số đã cho bằng giá trị mới
- Thêm
"<code>review" vào cuối mảng bằngpush - Thêm
"planning"vào cuối mảng bằng toán tử xẻng<< - Xóa phần tử cuối cùng bằng
pop - Xóa phần tử đầu tiên bằng
shift - Xóa tất cả các lần xuất hiện của giá trị đã chỉ định bằng
delete
In ra mảng cuối cùng bằng puts.
Ví dụ, nếu các giá trị đầu vào là 2, break và call, thì đầu ra sẽ là:
meeting
break
report
reviewNếu các giá trị đầu vào là 0, standup và report, thì đầu ra sẽ là:
meeting
lunch
call
reviewNếu các giá trị đầu vào là 4, demo và lunch, thì đầu ra sẽ là:
meeting
report
demo
reviewTự làm thử
# Mảng ban đầu
tasks = ["email", "meeting", "lunch", "report", "call"]
# Đọc dữ liệu đầu vào
index = gets.chomp.to_i
new_value = gets.chomp
value_to_delete = gets.chomp
# TODO: Viết code bên dưới
# 1. Thay phần tử tại chỉ số đã cho bằng giá trị mới
# 2. Dùng push để thêm chính xác đoạn văn bản trong hướng dẫn vào cuối mảng
# 3. Dùng toán tử shovel << để thêm "planning" vào cuối mảng
# 4. Dùng pop để xóa phần tử cuối cùng
# 5. Dùng shift để xóa phần tử đầu tiên
# 6. Dùng delete để xóa mọi phần tử có giá trị đã chỉ định
# In ra mảng cuối cùng
puts tasksBài học này có một bài trắc nghiệm ngắn. Bắt đầu bài học để trả lời và theo dõi tiến độ.
Tất cả bài học trong Kiến thức nền tảng
4Toán tử phần 2
Toán tử logic phần 1Toán tử logic phần 2Ôn tập: logic đơn giảnToán tử logic phần 3Toán tử logic phần 42Biến và kiểu dữ liệu
Số và biếnKiểu dữ liệu chuỗiKiểu dữ liệu BooleanKiểu dữ liệu SymbolKiểm tra kiểu dữ liệuQuy ước đặt tênÔn tập: tạo biến8Vòng lặp
Vòng lặp for với khoảng giá trịVòng lặp whileThoátTiếp tụcÔn tập: giai thừaVòng lặp timesVòng lặp untilVòng lặp lồng nhauÔn tập: đầu vào động3Toán tử phần 1
Toán tử số họcToán tử moduloPhép tính số học rút gọnÔn tập: Toán cơ bảnToán tử so sánh6Nhập xuất cơ bản
In ra bằng putsIn ra bằng print và pIn ra bằng biếnNhập dữ liệu bằng getsPhương thức chompChuyển đổi kiểu dữ liệuÔn tập: Tính tuổiÔn tập: Đúng hay sai9Phương thức
Định nghĩa phương thứcTham số phương thứcGiá trị trả vềÔn tập: phương thức SigmaÔn tập: phương thức xác thựcGiá trị tham số mặc định15Theo dõi chi tiêu hằng ngày
Tổng quan dự ánThoát chương trìnhTự luyện tập: Trình biên dịch Ruby online