Ôn tập: nhiệt độ
Thuộc phần Lập trình hướng đối tượng trong hành trình R của Coddy. Bài học 6 trên 57.
Thử thách
Trung bìnhXây dựng lớp S3 temperature trong Temperature.R. Nhiệt độ là một số có thuộc tính unit (C hoặc F).
new_temperature(value, unit)kiểm tra kiểu dữ liệu bằngstopifnot()và trả vềstructure(value, unit = unit, class = "temperature").validate_temperature(x)dừng lại với thông báounit must be C or F, hoặc với thông báobelow absolute zerokhi giá trị thấp hơn -273.15 C hoặc -459.67 F.temperature(value, unit = "C")chuyển đổi giá trị bằngas.double(), viết hoa đơn vị và trả về một nhiệt độ đã được xác thực.format.temperature()trả về21.5 Cvới một chữ số thập phân, cònprint.temperature()in raTemperature: 21.5 Cvà trả vềinvisible(x).convert_to(t, unit)trả về nhiệt độ theo đơn vị đã cho (giữ nguyên giá trị nếu đơn vị đã khớp).
Dùng call. = FALSE trong mọi stop(). Code được cung cấp đọc các dòng 21.5 c F (giá trị, đơn vị, đơn vị đích), in ra nhiệt độ và nhiệt độ đã chuyển đổi, hoặc error: cùng thông báo lỗi.
Viết code của bạn trong Temperature.R. main.R chứa code đầu vào/đầu ra được cung cấp và bạn không thể chỉnh sửa tệp này.
Tự làm thử
source("Temperature.R")
# Đoạn code đầu vào/đầu ra đã cho: giữ nguyên
input <- suppressWarnings(readLines(file("stdin")))
for (line in input) {
p <- strsplit(line, " ")[[1]]
result <- tryCatch({
t <- temperature(p[1], p[2])
print(t)
print(convert_to(t, p[3]))
NULL
}, error = function(e) cat("error: ", conditionMessage(e), "\n", sep = ""))
}
Tất cả bài học trong Lập trình hướng đối tượng
1Kiến thức cơ bản về S3
Làm việc với tệpDanh sách với một lớpHàm khởi tạoPhương thức in ra và định dạngTrình xác thực và hàm hỗ trợÔn tập: nhiệt độ4Tính đóng gói trong R
Closure dưới dạng đối tượngMôi trường dưới dạng đối tượngHàm truy cậpBảo vệ trạng tháiÔn tập: đồng hồ tính phí đỗ xe2S3, hàm generic và phương thức
Hàm generic và UseMethodPhương thức mặc địnhPhương thức cho hàm generic cơ sởCơ bản về NextMethodÔn tập: diện tích hình5Các lớp S4
Định nghĩa lớp S4Slot và quyền truy cậpKiểm tra tính hợp lệPhương thức showÔn tập: Danh mục sản phẩmTự luyện tập: Trình biên dịch R online