4

enter image description here

I'm in the process of working on a coding project in a pluto notebook. It's early days but I'm curious why the value of 1000 doesn't show beside quadorder in the screenshot above. It seems to output for everything else!

Fuzzy_Bunnys
  • 193
  • 8
  • 1
    This is most certainly a bug. If you have a github account I advice you to open an issue at https://github.com/fonsp/Pluto.jl otherwise I will be happy to do it for you! – aramirezreyes Dec 21 '20 at 23:05
  • Unfortunately I don't have an active github account at the moment, if you'd like to open an issue that'd be great! I should note that the answer below successfully resolved the issue! – Fuzzy_Bunnys Dec 22 '20 at 00:46
  • Issue created: https://github.com/fonsp/Pluto.jl/issues/820 – lungben Jan 04 '21 at 16:53
  • This is not an issue of Pluto, it's more a known issue of the Julia REPL. https://github.com/JuliaLang/julia/issues/28743 – Oskar Jan 05 '21 at 12:23
  • You can actually trick it into some weird behaviors, e.g. if you have `";#"` in your evaluated line it will also show no output. The output of something like `a = [";#", "hi", 3]` is suppressed in the REPL. – Oskar Jan 05 '21 at 12:31

1 Answers1

3

It is the ; in your code that triggers that. However, I don't think it is supposed to be expected behavior. It is supposed to be a comment, but the parser probably sees the ; and thinks that it is part of the code. If you put it between quoting marks then this doesn't happen. I.e. this should work as expected:

quadorder = 1000 # like python Julia doesn't require ';'

Otherwise, it would usually also work if you just don't put it at the end of the line.

The Julia REPL evaluates the semicolon wrongly and it is a know issue github.com/JuliaLang/julia/issues/28743. You can actually trick it into some weird behavior that suppresses output. For example this returns no output:

julia> ";#"

julia> a = [";   #", "hi", 3]

julia> a = "223" #;

The reason is that the REPL parser looks for the last semicolon in the line and if there is any # or if it is at the end of the line (whitespaces don't matter), then it suppresses any output.

Oskar
  • 1,371
  • 6
  • 19