Skip to content

Instantly share code, notes, and snippets.

@eght
Forked from cbare/uuid.R
Created November 18, 2018 16:28
Show Gist options
  • Save eght/eb41f44d23f70f6dc5b7ede6d8e334ee to your computer and use it in GitHub Desktop.
Save eght/eb41f44d23f70f6dc5b7ede6d8e334ee to your computer and use it in GitHub Desktop.

Revisions

  1. @cbare cbare revised this gist Jul 21, 2013. 1 changed file with 2 additions and 2 deletions.
    4 changes: 2 additions & 2 deletions uuid.R
    Original file line number Diff line number Diff line change
    @@ -11,8 +11,8 @@ uuid <- function(uppercase=FALSE) {
    paste(
    paste0(sample(hex_digits, 8, replace=TRUE), collapse=''),
    paste0(sample(hex_digits, 4, replace=TRUE), collapse=''),
    paste0('4', sample(hex_digits, 3, replace=TRUE), collapse=''),
    paste0(sample(y_digits,1), sample(hex_digits, 3, replace=TRUE), collapse=''),
    paste0('4', paste0(sample(hex_digits, 3, replace=TRUE), collapse=''), collapse=''),
    paste0(sample(y_digits,1), paste0(sample(hex_digits, 3, replace=TRUE), collapse=''), collapse=''),
    paste0(sample(hex_digits, 12, replace=TRUE), collapse=''),
    sep='-')
    }
  2. @cbare cbare revised this gist Jul 12, 2013. 1 changed file with 5 additions and 5 deletions.
    10 changes: 5 additions & 5 deletions uuid.R
    Original file line number Diff line number Diff line change
    @@ -9,10 +9,10 @@ uuid <- function(uppercase=FALSE) {
    y_digits <- hex_digits[9:12]

    paste(
    paste0(sample(hex_digits, 8), collapse=''),
    paste0(sample(hex_digits, 4), collapse=''),
    paste0('4', sample(hex_digits, 3), collapse=''),
    paste0(sample(y_digits,1), sample(hex_digits, 3), collapse=''),
    paste0(sample(hex_digits, 12), collapse=''),
    paste0(sample(hex_digits, 8, replace=TRUE), collapse=''),
    paste0(sample(hex_digits, 4, replace=TRUE), collapse=''),
    paste0('4', sample(hex_digits, 3, replace=TRUE), collapse=''),
    paste0(sample(y_digits,1), sample(hex_digits, 3, replace=TRUE), collapse=''),
    paste0(sample(hex_digits, 12, replace=TRUE), collapse=''),
    sep='-')
    }
  3. @cbare cbare created this gist Jul 11, 2013.
    18 changes: 18 additions & 0 deletions uuid.R
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,18 @@
    ## Version 4 UUIDs have the form xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx
    ## where x is any hexadecimal digit and y is one of 8, 9, A, or B
    ## e.g., f47ac10b-58cc-4372-a567-0e02b2c3d479
    uuid <- function(uppercase=FALSE) {

    hex_digits <- c(as.character(0:9), letters[1:6])
    hex_digits <- if (uppercase) toupper(hex_digits) else hex_digits

    y_digits <- hex_digits[9:12]

    paste(
    paste0(sample(hex_digits, 8), collapse=''),
    paste0(sample(hex_digits, 4), collapse=''),
    paste0('4', sample(hex_digits, 3), collapse=''),
    paste0(sample(y_digits,1), sample(hex_digits, 3), collapse=''),
    paste0(sample(hex_digits, 12), collapse=''),
    sep='-')
    }