Tổng quan về phương thức chuỗi
Thuộc phần Logic và luồng xử lý trong hành trình Ruby của Coddy. Bài học 1 trên 56.
Ruby cung cấp cho chuỗi (string) một bộ sưu tập phong phú các phương thức (method) tích hợp sẵn để thực hiện những phép biến đổi thường gặp. Bạn không cần thêm thư viện (library), vì chúng đã có sẵn trong mọi chuỗi bạn tạo.
Một số phương thức hữu ích nhất giúp đổi chữ hoa, chữ thường hoặc xóa khoảng trắng:
name = " Alice "
puts name.strip # "Alice"
puts name.upcase # " ALICE "
puts name.downcase # " alice "
puts name.reverse # " ecilA "Những phương thức khác cho bạn biết một số điều về chuỗi:
word = "hello"
puts word.length # 5
puts word.include?("ell") # true
puts word.start_with?("he") # trueHầu hết các hàm này trả về một chuỗi mới. Chuỗi ban đầu vẫn giữ nguyên, trừ khi bạn dùng phiên bản có dấu chấm than (ví dụ: upcase!).
Thử thách
Người mớiĐọc một dòng đầu vào. In ra, mỗi nội dung trên một dòng riêng:
- Đầu vào sau khi xóa khoảng trắng ở đầu và cuối
- Giá trị đã xóa khoảng trắng đó ở dạng chữ hoa
- Độ dài của giá trị đã xóa khoảng trắng
truehoặcfalse: giá trị đã xóa khoảng trắng có chứa"ruby"không (không phân biệt chữ hoa chữ thường)?
Với đầu vào Hello Ruby world , đầu ra là:
Hello Ruby world
HELLO RUBY WORLD
16
trueTự làm thử
input = gets.chomp
# TODO: in ra bốn dòng theo yêu cầu
Bà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 Logic và luồng xử lý
1Tìm hiểu sâu về chuỗi
Tổng quan về phương thức chuỗiNội suy chuỗiDuyệt qua chuỗiTách và nối chuỗiÔn tập: Đan chuỗi4Khối lệnh, Proc và lambda
Khối lệnh là gì?do..end và dấu ngoặc nhọnTừ khóa yieldTham số của khối lệnhProc và lambdaÔn tập: bộ lặp tùy chỉnh7Hash, phần 2
Hash.new với giá trị mặc địnhLặp qua HashHash lồng nhauGộp và chuyển đổiÔn tập: Bộ đếm tần suất10Dự án: Hồ sơ học sinh
Tổng quan dự ánThêm học sinh2Phạm vi
Phạm vi là gì?Các phương thức của phạm viPhạm vi trong case / whenÔn tập: luyện tập với phạm vi5Sức mạnh của Enumerable
select và rejectNối chuỗi mapreduce / injectcount, all?, any?, none?group_by và partitionsort_by, min_by, max_byÔn tập: quy trình dữ liệuTự luyện tập: Trình biên dịch Ruby online