2017-10-05 1 views
0

je les données suivantes:Comment générer une liste numérotée avec saut de ligne en utilisant R whisker moteur templating

data <- list(name = "Chris", 
      children_names = c("Alex", "John") 
      ) 

En utilisant le moteur de templating de R whisker, je veux obtenir cette sortie, lors du rendu:

I am Chris 
My children are: 
    Child No 1 is Alex 
    Child No 2 is John 

Ceci est mon code actuel:

library(whisker) 
template <- 
'I am {{name}} 
My children are: 
{{children_names}} 
' 

data <- list(name = "Chris", 
      children_names = c("Alex", "John") 

      ) 

text <- whisker.render(template, data) 
cat(text) 

# which produces: 

# I am Chris 
# My children are: 
# Alex,John 

W Ce n'est pas ce que je veux. Quelle est la bonne façon de le faire?

Répondre

1

Vous avez probablement déjà compris cela, mais si vous avez pas:

library(whisker) 

template <- 
    'I am {{name}} \n 
    My children are: \n 
    {{#children_names}} 
    Child No {{number}} is {{cname}} 
    {{/children_names}}' 

data <- list( 
    name = "Chris", 
    children_names = list(
    list(cname = "Alex", number = 1), list(cname = "John", number = 2) 
) 
) 

text <- whisker.render(template, data) 
cat(text) 

# I am Chris 
# 
# My children are: 
# 
# Child No 1 is Alex 
# Child No 2 is John