[julia-users] Re: Debug printing a “value” and its “symbol”

2015-01-04 Thread elextr
I think you need a macro, something like:

macro printvar(var)
   return :(print($(string(var))); print(=); println($var))
end

julia a=2
2

julia @printvar a
a=2

Cheers
Lex

On Sunday, January 4, 2015 8:48:27 PM UTC+10, Arch Call wrote:

 I frequently find myself writing Julia snippet scripts like this:


  vara = 33

 varb = vara * 14

 varc = varb * 77

 println(“varb = “, varb) #--debug print

 println(“varc = “, varc) #--debug print


  I would like to eliminate having to enter the variable name twice

 in the debug print lines by using a function.


  I have tried all kinds of variations of a debug print function like:


  function debugprint(somevar)

 println(“ = ”, somevar)

 end


  What can I put in place of “” to get the actual Symbol of the 
 variable being passed to debugprint?



[julia-users] Re: Debug printing a “value” and its “symbol”

2015-01-04 Thread Arch Call
Thanks so much Lex .. That works ... Arch

On Sunday, January 4, 2015 5:48:27 AM UTC-5, Arch Call wrote:

 I frequently find myself writing Julia snippet scripts like this:


  vara = 33

 varb = vara * 14

 varc = varb * 77

 println(“varb = “, varb) #--debug print

 println(“varc = “, varc) #--debug print


  I would like to eliminate having to enter the variable name twice

 in the debug print lines by using a function.


  I have tried all kinds of variations of a debug print function like:


  function debugprint(somevar)

 println(“ = ”, somevar)

 end


  What can I put in place of “” to get the actual Symbol of the 
 variable being passed to debugprint?



Re: [julia-users] Re: Debug printing a “value” and its “symbol”

2015-01-04 Thread Mike Innes
Have you met @show?

On 4 January 2015 at 11:10, ele...@gmail.com wrote:

 I think you need a macro, something like:

 macro printvar(var)
return :(print($(string(var))); print(=); println($var))
 end

 julia a=2
 2

 julia @printvar a
 a=2

 Cheers
 Lex

 On Sunday, January 4, 2015 8:48:27 PM UTC+10, Arch Call wrote:

 I frequently find myself writing Julia snippet scripts like this:


  vara = 33

 varb = vara * 14

 varc = varb * 77

 println(“varb = “, varb) #--debug print

 println(“varc = “, varc) #--debug print


  I would like to eliminate having to enter the variable name twice

 in the debug print lines by using a function.


  I have tried all kinds of variations of a debug print function like:


  function debugprint(somevar)

 println(“ = ”, somevar)

 end


  What can I put in place of “” to get the actual Symbol of the
 variable being passed to debugprint?




Re: [julia-users] Re: Debug printing a “value” and its “symbol”

2015-01-04 Thread Ismael VC
julia begin
   @show vara = 33
   @show varb = vara * 14
   @show varc = varb * 77
   end
vara = 33 = 33
varb = vara * 14 = 462
varc = varb * 77 = 35574
35574


On Sun, Jan 4, 2015 at 5:47 AM, Mike Innes mike.j.in...@gmail.com wrote:

 Have you met @show?

 On 4 January 2015 at 11:10, ele...@gmail.com wrote:

 I think you need a macro, something like:

 macro printvar(var)
return :(print($(string(var))); print(=); println($var))
 end

 julia a=2
 2

 julia @printvar a
 a=2

 Cheers
 Lex

 On Sunday, January 4, 2015 8:48:27 PM UTC+10, Arch Call wrote:

 I frequently find myself writing Julia snippet scripts like this:


  vara = 33

 varb = vara * 14

 varc = varb * 77

 println(“varb = “, varb) #--debug print

 println(“varc = “, varc) #--debug print


  I would like to eliminate having to enter the variable name twice

 in the debug print lines by using a function.


  I have tried all kinds of variations of a debug print function like:


  function debugprint(somevar)

 println(“ = ”, somevar)

 end


  What can I put in place of “” to get the actual Symbol of the
 variable being passed to debugprint?





Re: [julia-users] Re: Debug printing a “value” and its “symbol”

2015-01-04 Thread Ismael VC
Reading the code, there is also a `indent` option, i thought it accepted a 
boolean, but not, I find it very unintuitive:

dump(io::IO, x, n::Int, indent) = xdump(dump, io, x, n, indent)


julia dump(:(1 + 1 * 3 - 4^7), 10, false)
Expr 
false  head: Symbol call
false  args: Array(Any,(3,))
false1: Symbol -
false2: Expr 
false  head: Symbol call
false  args: Array(Any,(3,))
false1: Symbol +
false2: Int32 1
false3: Expr 
false  head: Symbol call
false  args: Array(Any,(3,))
false1: Symbol *
false2: Int32 1
false3: Int32 3
false  typ: Any
false  typ: Any
false3: Expr 
false  head: Symbol call
false  args: Array(Any,(3,))
false1: Symbol ^
false2: Int32 4
false3: Int32 7
false  typ: Any
false  typ: Any

And once can't use this argument, as a keyword argument:

julia dump(:(1 + 1 * 3 - 4^7), indent=---)
ERROR: function dump does not accept keyword arguments

Keyword arguments are slow? Or why are the not used that much throughout 
the API?




El domingo, 4 de enero de 2015 09:53:35 UTC-6, Ismael VC escribió:

 julia begin
@show vara = 33
@show varb = vara * 14
@show varc = varb * 77
end
 vara = 33 = 33
 varb = vara * 14 = 462
 varc = varb * 77 = 35574
 35574


 On Sun, Jan 4, 2015 at 5:47 AM, Mike Innes mike.j.in...@gmail.com wrote:

 Have you met @show?

 On 4 January 2015 at 11:10, ele...@gmail.com wrote:

 I think you need a macro, something like:

 macro printvar(var)
return :(print($(string(var))); print(=); println($var))
 end

 julia a=2
 2

 julia @printvar a
 a=2

 Cheers
 Lex

 On Sunday, January 4, 2015 8:48:27 PM UTC+10, Arch Call wrote:

 I frequently find myself writing Julia snippet scripts like this:


  vara = 33

 varb = vara * 14

 varc = varb * 77

 println(“varb = “, varb) #--debug print

 println(“varc = “, varc) #--debug print


  I would like to eliminate having to enter the variable name twice

 in the debug print lines by using a function.


  I have tried all kinds of variations of a debug print function like:


  function debugprint(somevar)

 println(“ = ”, somevar)

 end


  What can I put in place of “” to get the actual Symbol of the 
 variable being passed to debugprint?





[julia-users] Re: Debug printing a “value” and its “symbol”

2015-01-04 Thread Arch Call
Thanks Mike,  I have used show before, but not @show...Arch

On Sunday, January 4, 2015 5:48:27 AM UTC-5, Arch Call wrote:

 I frequently find myself writing Julia snippet scripts like this:


  vara = 33

 varb = vara * 14

 varc = varb * 77

 println(“varb = “, varb) #--debug print

 println(“varc = “, varc) #--debug print


  I would like to eliminate having to enter the variable name twice

 in the debug print lines by using a function.


  I have tried all kinds of variations of a debug print function like:


  function debugprint(somevar)

 println(“ = ”, somevar)

 end


  What can I put in place of “” to get the actual Symbol of the 
 variable being passed to debugprint?