【问题标题】:How to print variable values in comment blocks in Julia?如何在 Julia 的注释块中打印变量值?
【发布时间】:2020-05-12 10:39:14
【问题描述】:

我想在 cmets 中打印一个变量的值,这样我就可以从 cmets 中的 LaTeX 支持中获益并产生不错的输出。这可能吗?

这是我迄今为止尝试过的,但它只打印变量的名称而不是它的值。

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

另外,我使用 Wea​​ve 将我的 .jl 源文件转换为 .html 输出文件。

【问题讨论】:

    标签: latex julia comments weave


    【解决方案1】:

    无法在注释块中执行 Julia 代码。这就是评论区的重点!

    您可以做的是打印评论块本身,类似于:

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

    【讨论】:

    • 对,是的,但由于 cmets 块支持 LaTeX,它们以某种方式解释。无论如何,感谢您的回答,但遗憾的是,它不起作用。它被解释为输出而不是文本。作为例外:(!
    【解决方案2】:

    你也可以这样做

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

    显示变量的值。

    在评论中它没有意义,因为它被认为是对读者的评论并且它们被完全忽略(在任何语言中)。但是,也许您可​​以生成 cmets 作为程序的输出。

    【讨论】:

      【解决方案3】:

      您可能需要澄清您究竟想要达到什么目标才能获得更准确的答案,但我可以评论您迄今为止所做的尝试。

      1. 注释不用于解释任何语言的代码。您需要通过其他方法输出数据。最简单的方法是在您尝试使用println 时将信息打印到屏幕上,但您也可以根据您的目标打印到文件或另一个程序。您可以查找有关输入/输出 (I/O) 的信息以获取更多信息。 Link
      2. 您尝试的println 命令不起作用,因为您尝试连接 (*) 与整数的字符串。您需要先使用 string 命令或使用字符串扩展 ($) 将 my_var 转换为字符串。
      my_var=5
      println("Value of my_var is " * string(my_var))
      println("Value of my_var is $my_var")
      
      1. 如果您需要的 LaTeX 支持只是 Unicode 符号,那么 Julia 本身就支持它。您可以在 Julia 命令行 (REPL) 或支持的文本编辑器中键入 \alpha,它会被转换为希腊字母本身。
      2. 要获得更完整的 LaTeX 支持,您可以将一个名为 LaTexStrings 的包加载到 Julia 中,它会创建一个新的 LaTeXString 类。将L 放在任何字符串前面会将其转换为 LaTeXSting。然后这些 LaTeXStrings 可以通过 I/O 传递到解释它们的地方。包安装覆盖here

      希望其中一种方法能让你朝着正确的方向前进。

      【讨论】:

      • 遗憾的是,上述方法均无效。但我能够自己解决我的问题;)!
      【解决方案4】:

      我只需要一个“j”就可以让 Markdown 知道他必须解释 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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-11-07
        • 2023-04-09
        • 1970-01-01
        • 2015-10-28
        • 1970-01-01
        相关资源
        最近更新 更多