Sha256: e1750bf80f0bbf32a6df3ce31f39bf634a2b383d4f0b99d4202026a99be225ec

Contents?: true

Size: 540 Bytes

Versions: 172

Compression:

Stored size: 540 Bytes

Contents

triangle <- function(x, y, z) {
  
  checks <- c(x + y < z,
              x + z < y,
              y + z < x,
              x == 0,
              y == 0,
              z == 0)
  
  if (any(checks)) {
    stop("Invalid sides for triangle")
  }
  
  unique_sides <- length(unique(c(x, y, z)))
  
  triangle_class <- switch(unique_sides,
                           c("equilateral", "isosceles"),
                           "isosceles",
                           "scalene")
  
  structure(list(x = x, y = y, z = z), class = triangle_class)

}

Version data entries

172 entries across 172 versions & 1 rubygems

Version Path
trackler-2.2.1.180 tracks/r/exercises/triangle/example.R
trackler-2.2.1.179 tracks/r/exercises/triangle/example.R
trackler-2.2.1.178 tracks/r/exercises/triangle/example.R
trackler-2.2.1.177 tracks/r/exercises/triangle/example.R
trackler-2.2.1.176 tracks/r/exercises/triangle/example.R
trackler-2.2.1.175 tracks/r/exercises/triangle/example.R
trackler-2.2.1.174 tracks/r/exercises/triangle/example.R
trackler-2.2.1.173 tracks/r/exercises/triangle/example.R
trackler-2.2.1.172 tracks/r/exercises/triangle/example.R
trackler-2.2.1.171 tracks/r/exercises/triangle/example.R
trackler-2.2.1.170 tracks/r/exercises/triangle/example.R
trackler-2.2.1.169 tracks/r/exercises/triangle/example.R
trackler-2.2.1.167 tracks/r/exercises/triangle/example.R
trackler-2.2.1.166 tracks/r/exercises/triangle/example.R
trackler-2.2.1.165 tracks/r/exercises/triangle/example.R
trackler-2.2.1.164 tracks/r/exercises/triangle/example.R
trackler-2.2.1.163 tracks/r/exercises/triangle/example.R
trackler-2.2.1.162 tracks/r/exercises/triangle/example.R
trackler-2.2.1.161 tracks/r/exercises/triangle/example.R
trackler-2.2.1.160 tracks/r/exercises/triangle/example.R