Menu
CoddyTech

Đối số hàm

Thuộc phần Kiến thức nền tảng trong hành trình R của Coddy. Bài học 47 trên 78.

Hàm (function) trở nên mạnh mẽ hơn nhiều khi có thể nhận đầu vào (input). Đối số (argument) (còn gọi là tham số (parameter)) cho phép bạn truyền giá trị (value) vào hàm, giúp hàm linh hoạt và có thể tái sử dụng trong nhiều tình huống khác nhau.

Để thêm đối số, hãy đặt chúng trong dấu ngoặc đơn khi định nghĩa hàm:

greet <- function(name) {
  print(paste("Hello,", name))
}

greet("Alice")
greet("Bob")

Đầu ra:

[1] "Hello, Alice"
[1] "Hello, Bob"

Giờ đây, hàm (function) hoạt động với bất kỳ tên nào bạn cung cấp. Khi bạn gọi greet("Alice"), giá trị "Alice" được gán cho tham số name bên trong hàm.

Bạn có thể định nghĩa nhiều đối số, ngăn cách chúng bằng dấu phẩy:

add <- function(a, b) {
  print(a + b)
}

add(5, 3)
add(10, 20)

Đầu ra:

[1] 8
[1] 30

Khi gọi một hàm (function) có nhiều đối số, các giá trị được ghép với tham số theo thứ tự. Giá trị đầu tiên ứng với tham số đầu tiên, giá trị thứ hai ứng với tham số thứ hai, và cứ tiếp tục như vậy.

challenge icon

Thử thách

Dễ

Tạo một hàm (function) có tên calculate_area nhận hai đối số: length và width. Hàm này sẽ in ra diện tích (length nhân với width) bằng print().

Đọc hai số từ đầu vào, chuyển chúng thành giá trị số rồi gọi hàm của bạn với các giá trị này.

Ví dụ, nếu đầu vào là 5 và 3, đầu ra sẽ là:

[1] 15

Nếu đầu vào là 7 và 4, đầu ra sẽ là:

[1] 28

Tự làm thử

# Đọc đầu vào
con <- file("stdin", "r")
length <- as.numeric(suppressWarnings(readLines(con, n = 1)))
width <- as.numeric(suppressWarnings(readLines(con, n = 1)))
close(con)

# TODO: Tạo hàm (function) tên là calculate_area nhận length và width
# và in ra diện tích (length * width)


# Gọi hàm của bạn với các giá trị đầu vào
quiz iconTự kiểm tra

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 Kiến thức nền tảng

Tự luyện tập: Trình biên dịch R online