View source: R/check-control.R
check_control | R Documentation |
Check whether student coded a control statement correctly
check_if_else(state, index = 1, not_found_msg = NULL, append = TRUE) check_while(state, index = 1, not_found_msg = NULL, append = TRUE) check_for(state, index = 1, not_found_msg = NULL, append = TRUE) check_cond(state) ## S3 method for class 'ControlState' check_body(state, ...) check_if(state) check_else(state, not_found_msg = NULL, append = TRUE)
state |
state to start from (for |
index |
Number of that particular control statement to check |
not_found_msg |
Custom message in case the control statement was not found |
append |
Whether or not to append the feedback to feedback built in previous states |
... |
S3 stuff |
## Not run: # Example 1: if else vec <- c("a", "b", "c") if("a" %in% vec) { print("a in here") } else if(any("b" > vec)) { cat("b not smallest") } else { str(vec) } # SCT check_if_else(1) %>% { check_cond(.) %>% { check_code(., "%in%") check_code(., "vec") } check_if(.) %>% check_function(., "print") check_else(.) %>% check_if_else() %>% { check_cond(.) %>% check_code(">") check_if(.) %>% check_function("cat") check_else(.) %>% check_function("str") } } # Example 2: while loop while(x < 18) { x <- x + 5 print(x) } # SCT check_while(1) %>% { check_cond(.) %>% check_code(c("< 18", "18 >")) check_body(.) %>% { check_code(., c("x + 5", "5 + x")) check_function(., "print") %>% test_arg("x") } } # Example 3: for loop for(i in 1:5) { print("hurray!") } # SCT ex() %>% check_for() %>% { check_cond(.) %>% { check_code(., "in") check_code(., "1") check_code(., "5") } check_body(.) %>% check_function("print") %>% check_arg("x") %>% check_equal() } ## End(Not run)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.