Dear Richard,

You can do:

#+BEGIN_SRC mathematica
f[x_] := x+3;
f[5]
#+END_SRC

Here are explanations: I actually put everything in the SRC block into a
Print[...].

So in the second example, what actually runs is

Print[f[x_] := x+3
f[5]]

This does not return any value. Because what it really does is print the
value of "f[x_] := x+3 f[5]"

Here is the code:

(concat
     (mapconcat ;; define any variables
      (lambda (pair)
(format "%s=%s;"
(car pair)
(org-babel-mathematica-var-to-mathematica (cdr pair))))
      vars "\n") "\nPrint[\n" body "\n]\n")

If anybody has idea to improve it, I will be happy to see and work it out!

Best,
Yi




On Sat, Mar 14, 2015 at 7:09 AM John Kitchin <jkitc...@andrew.cmu.edu>
wrote:

> I wonder if this is an output vs value issue on the return of the
> block. If you set :results output does anything change? or, is there a
> way to specify a return value? or specifically print something?
>
> Richard Stanton writes:
>
> > I recently saw this posting about org support for Mathematica. Thanks
> for writing this!
> >
> > Unfortunately, while I can get it to work for simple things (e.g., 2+3),
> even slightly more complex things don't seem to work. For example, suppose
> I'd like to define a function f(x) = x + 3, and then calculate f(5). In a
> MMA notebook, if I type
> >
> > f[x_] := x+3
> > f[5]
> >
> > I get the answer 8. If I try the same code in an org-mode code block,
> here's what happens:
> >
> > #+BEGIN_SRC mathematica
> > f[x_] := x+3
> > f[5]
> > #+END_SRC
> >
> > #+RESULTS:
> > : Null
> >
> > Am I missing something obvious here?
> >
> > Thanks very much.
> >
> > Richard Stanton
>
> --
> Professor John Kitchin
> Doherty Hall A207F
> Department of Chemical Engineering
> Carnegie Mellon University
> Pittsburgh, PA 15213
> 412-268-7803
> @johnkitchin
> http://kitchingroup.cheme.cmu.edu
>

Reply via email to