1
votes

Comment imprimer des valeurs de variables dans des blocs de commentaires dans Julia?

J'aimerais afficher la valeur d'une variable dans les commentaires pour pouvoir profiter du support LaTeX dans les commentaires et produire de belles sorties. Est-ce même possible?

C'est ce que j'ai essayé jusqu'à présent, mais il n'imprime que le nom de la variable au lieu de sa valeur.

    my_var = 5
    println("Value of my_var " * my_var)
        
    #'Value of my_var is $(my_var)

De plus, j'utilise Weave pour transformer mon Fichier source .jl dans le fichier de sortie .html .


0 commentaires

4 Réponses :


2
votes

Il n'est pas possible d'exécuter du code Julia dans des blocs de commentaires. C'est le point de départ des blocs de commentaires!

Ce que vous pouvez faire, c'est imprimer le bloc de commentaires lui-même , quelque chose comme:

my_var = 5
println("# The value of my var is: ", my_var)


1 commentaires

Oui, mais ils ont interprété d'une certaine manière puisque le bloc de commentaires supporte LaTeX. Quoi qu'il en soit, merci pour votre réponse, mais malheureusement, cela ne fonctionne pas. Il est interprété comme une sortie et non comme du texte. Comme excepté :(!



0
votes

Vous pouvez également faire

my_var = 5
println("Value of my_var $my_var")

pour afficher la valeur de la variable.

Dans le commentaire, cela n'a pas de sens, car il est supposé être un commentaire pour le lecteur et ils sont complètement ignorés (dans n'importe quelle langue). Cependant, vous pouvez peut-être générer les commentaires en sortie de votre programme.


0 commentaires

0
votes

Vous aurez probablement besoin de clarifier ce que vous essayez exactement de réaliser pour obtenir une réponse plus précise, mais je peux commenter ce que vous avez essayé jusqu'à présent.

  1. Les commentaires ne sont pas destinés à interpréter le code dans aucune langue. Vous devez sortir vos données par une autre méthode. Le moyen le plus simple est d'imprimer des informations à l'écran comme vous l'avez essayé avec println , mais vous pouvez également imprimer dans un fichier ou dans un autre programme en fonction de votre objectif. Vous pouvez rechercher des informations sur les entrées / sorties (E / S) pour plus d'informations à ce sujet. Lien
  2. La commande println que vous avez essayée n'a pas fonctionné car vous avez essayé de concaténer ( * ) une chaîne avec un entier. Vous devez d'abord convertir ma_var en une chaîne soit avec la commande string soit avec l'extension de chaîne ( $ ).
my_var=5
println("Value of my_var is " * string(my_var))
println("Value of my_var is $my_var")
  1. Si le support LaTeX dont vous avez besoin n'est que des symboles Unicode, cela est pris en charge nativement par Julia. Vous pouvez taper \ alpha dans la ligne de commande Julia (REPL) ou dans un éditeur de texte pris en charge, et il sera converti en lettre grecque elle-même.
  2. Pour une prise en charge plus complète de LaTeX, il existe un package que vous pouvez charger dans Julia appelé LaTexStrings qui crée une nouvelle classe LaTeXString. Mettre L devant n'importe quelle chaîne la convertira en LaTeXSting. Ensuite, ces LaTeXStrings peuvent être passées par E / S vers un endroit qui les interprétera. L'installation du package est traitée ici .

Espérons que l'une de ces méthodes vous mènera dans la bonne direction.


1 commentaires

Malheureusement, aucune de ces solutions n'a fonctionné. Mais j'ai pu résoudre mon problème moi-même;)!



0
votes

À mon tour, je devais simplement avoir un 'j' pour que Markdown sache qu'il devait interpréter le code de Julia!

my_var = 5
println("Value of my_var " * my_var)

#'Value of my_var is `j my_var`

https://github.com/JunoLab/Weave.jl/blob/master/doc/src/usage.md a>


0 commentaires