Nội suy 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 2 trên 56.
Ruby cho phép bạn nhúng biến và biểu thức trực tiếp vào chuỗi đặt trong dấu ngoặc kép bằng #{...}. Cách này gọi là nội suy chuỗi (string interpolation).
name = "Sam"
age = 30
puts "#{name} is #{age} years old." # Sam 30 tuổi.Biểu thức bên trong #{...} có thể là bất cứ thứ gì Ruby đánh giá:
price = 19.5
puts "Total: $#{price * 1.2}" # Tổng cộng: $23.4Nội suy chỉ hoạt động trong chuỗi có dấu ngoặc kép. Dấu nháy đơn xem #{...} là văn bản thuần.
x = 5
puts "x is #{x}" # x là 5
puts 'x is #{x}' # x là #{x}Thử thách
Người mớiNhập một tên và một số tuổi (hai dòng đầu vào). In ra một dòng theo định dạng:
Hello, <name>! In 5 years you will be <age+5>.Với đầu vào Alice rồi 30, đầu ra là:
Hello, Alice! In 5 years you will be 35.Tự làm thử
name = gets.chomp
age = gets.to_i
# TODO: dùng phép nội suy chuỗi (string interpolation) để in ra thông báo
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