Online Marketing & Business Strategy

Ph: +91...4949
Email: info@hmi-tech.net
Topic:
Topics matching: Quiz size: Choices: Color scheme: Link
Quiz on 'Rlang6'

Title: Quiz on 'Rlang6'

Question 1
Choices
Answer
1. 01|# Double nested function/n
02|z <- 8
03|y <- 7
04|u <- 2
05|n <- function(x) {
06|  y <- x
07|  function(v) {
08|    z + y + v # which z, y are used?
09|  }
10|}
11|z <- 1
12|y <- 5
13|u <- 4
14|cat("n(y)(u)=",n(y)(u),"\n",sep="")
15|#
110
212
311
49
55
2. 01|# Nested functions, lexical scoping
02|k1 <- function(x) {
03|  k2 <- function(z) {
04|    return(x * z)
05|  }
06|  return(k2)
07|}
08|cat("k1(7)(9)=",k1(7)(9),"\n",sep="")
09|#
168
264
361
463
559
3. 01|# Inner closure
02|u <- 1
03|y <- 10
04|z <- 4
05|k2 <- function(u) {
06|  k1 <- function(u) {
07|    u <<- 3
08|    y <<- 8
09|    z <<- 9
10|    k3 <- function(y) {
11|      y * 10
12|    }
13|    k3(u) + 10
14|  }
15|  k1(u) * z
16|}
17|cat("k2(4)=",k2(4),"\n",sep='')
18|#
1360
2357
3358
4359
5367
4. 01|# Double nested function/n
02|y <- 3
03|u <- 6
04|x <- 2
05|n <- function(z) {
06|  u <- z
07|  function(v) {
08|    y + u + v # which y, u are used?
09|  }
10|}
11|y <- 5
12|u <- 0
13|x <- 10
14|cat("n(u)(x)=",n(u)(x),"\n",sep="")
15|#
110
216
317
414
515
5. 01|# Double nested function using global x/k3
02|x <- 2
03|k3 <- function( ) {
04|  function( ) x
05|}
06|x <- 9
07|cat("k3( )( )=",k3( )( ),"\n",sep="")
08|#
15
28
310
47
59
Question 6
Choices
Answer
6. 01|# Double nested function using global y/k3
02|x <- 2
03|y <- 3
04|k3 <- function(x) {
05|  function( ) {
06|    x + y # which x is used (global x or k3(x))?
07|  }
08|}
09|x <- 6
10|y <- 9
11|cat("k3(1)( )=",k3(1)( ),"\n",sep="")
12|#
17
214
38
49
510
7. 01|# Two functions, lexical scoping
02|a <- 1
03|k2 <- function(y) {
04|  a * y
05|}
06|a <- 10
07|k3 <- function(x) {
08|  a <- 100
09|  k2(x)
10|}
11|cat("k3(3)=",k3(3),"\n",sep="")
12|#
132
229
328
430
527
8. 01|# Double nested identity function/k2
02|y <- 4
03|k2 <- function(y) { # y unused
04|  function(y) y
05|}
06|y <- 10
07|cat("k2(y)(y)=",k2(y)(y),"\n",sep="")
08|#
15
210
37
49
513
9. 01|# Global modified, local returned.
02|y <- 6
03|u <- 2 # unused
04|k3 <- function(u){
05|  y <<- u + 5
06|  y # local y returned
07|}
08|cat("k3(1)=",k3(1),'\n',sep="")
09|#
18
29
33
46
54
10. 01|# Triple nested function/k1
02|k1 <- function(x) {
03|  k2 <- function(x) {
04|    k3 <- function(x) {
05|      x + 3
06|    }
07|    k3(x) + 5
08|  }
09|  k2(x) + 5
10|}
11|cat("k1(10)=",k1(10),"\n",sep="")
12|#
124
228
319
423
522
Question 11
Choices
Answer
11. 01|# Double nested identity function/k3
02|x <- 7
03|k3 <- function(x) { # x unused
04|  function(x) x
05|}
06|x <- 2
07|cat("k3(x)(x)=",k3(x)(x),"\n",sep="")
08|#
14
27
33
40
52
12. 01|# Inner closure
02|z <- 1
03|u <- 7
04|y <- 4
05|k2 <- function(z) {
06|  k1 <- function(z) {
07|    z <<- 8
08|    u <<- 0
09|    y <<- 6
10|    k3 <- function(u) {
11|      u * 10
12|    }
13|    k3(z) + 7
14|  }
15|  k1(z) * y
16|}
17|cat("k2(4)=",k2(4),"\n",sep='')
18|#
1525
2521
3523
4522
5527
13. 01|# Double nested function/n
02|y <- 9
03|z <- 2
04|u <- 7
05|n <- function(x) {
06|  z <- x
07|  function(v) {
08|    y + z + v # which y, z are used?
09|  }
10|}
11|y <- 10
12|z <- 0
13|u <- 8
14|cat("n(z)(u)=",n(z)(u),"\n",sep="")
15|#
113
220
318
417
522
14. 01|# Double nested function using global u/k2
02|y <- 1
03|u <- 2
04|k2 <- function(y) {
05|  function( ) {
06|    y + u # which y is used (global y or k2(y))?
07|  }
08|}
09|y <- 5
10|u <- 4
11|cat("k2(6)( )=",k2(6)( ),"\n",sep="")
12|#
113
211
39
410
58
15. 01|# Closure substractor
02|k2 <- function(y=0) {
03|  function(z) {
04|    z - y
05|  }
06|}
07|cat("k2(6)(0)=",k2(6)(0),"\n")
08|#
1-8
25
3-10
4-6
5-2
Question 16
Choices
Answer
16. 01|# Nested functions, lexical scoping
02|k2 <- function(x) {
03|  k1 <- function(u) {
04|    return(x * u)
05|  }
06|  return(k1)
07|}
08|cat("k2(7)(9)=",k2(7)(9),"\n",sep="")
09|#
159
264
363
466
565
17. 01|## Global y returned
02|y <- 9
03|n <- function(y){
04|  y <<- y + 1
05|}
06|cat("n(6)=",n(6),'\n',sep="")
07|#
18
29
34
47
55
18. 01|# Triple nested function/k3
02|k3 <- function(x) {
03|  k2 <- function(x) {
04|    k1 <- function(x) {
05|      x + 9
06|    }
07|    k1(x) + 10
08|  }
09|  k2(x) + 10
10|}
11|cat("k3(4)=",k3(4),"\n",sep="")
12|#
128
232
329
433
534
19. 01|# Nested functions, lexical scoping
02|k2 <- function(u) {
03|  k3 <- function(y) {
04|    return(u * y)
05|  }
06|  return(k3)
07|}
08|cat("k2(7)(9)=",k2(7)(9),"\n",sep="")
09|#
163
260
364
466
561
20. 01|# Nested functions, lexical scoping
02|k3 <- function(u) {
03|  k2 <- function(x) {
04|    return(u * x)
05|  }
06|  return(k2)
07|}
08|cat("k3(7)(9)=",k3(7)(9),"\n",sep="")
09|#
161
263
364
470
567