[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[O] Re: [Orgmode] Possible Calc support for Org-Babel?
From: |
Eric Schulte |
Subject: |
[O] Re: [Orgmode] Possible Calc support for Org-Babel? |
Date: |
Tue, 01 Mar 2011 10:34:07 -0700 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/24.0.50 (gnu/linux) |
Eric S Fraga <address@hidden> writes:
> "Eric Schulte" <address@hidden> writes:
>
>> Eric S Fraga <address@hidden> writes:
>
> [...]
>
>>>
>>> Further on this, any suggestions on how to pass a vector variable to
>>> calc using babel? I tried
>>>
>>> #+begin-src org
>>> #+begin_src calc :var y=[1 2 3]
>>> 3 y
>>> #+end_src
>>> #+end_src
>>>
>>> but get an error that says
>>>
>>> : Bad format in variable contents: Expected a number
>>>
>>> I've tried putting the vector in quotes but that doesn't help either.
>>> Is this maybe not possible?
>>>
>>
>> With the newest version of Org-mode, I'm now getting the following
>> output.
>>
>> #+begin_src calc :var y=[1 2 3]
>> 3 y
>> #+end_src
>> #+results:
>> : (3, 6)
>>
>> Does this look correct?
>>
>> Best -- Eric
>
> This does not look correct: assuming my knowledge of calc is correct,
> the result should be the scalar 3 multiplied by each of the vector
> elements. I don't understand how =(3, 6)= can be the output of =3 y=...
>
> The strange thing is that this doesn't work at all for me (with git as
> of a few minutes ago): I still get the error message
>
> : byte-code: Bad format in variable contents: Expected a number
>
> However, if I put the vector in double quotes, it works:
>
> #+begin_src calc :var y="[1 2 3]"
> 3 y
> #+end_src
>
> #+results:
> : [3, 6, 9]
>
> *but* if I subsequently remove the double quotes, it doesn't work and if
> put them back, it no longer works either. I am confused... there's
> like a hysteresis loop in org babel :(
>
> Any suggestions on how to debug this are welcome, of course.
Oh, I just got an even stranger result, with the latest from git...
#+begin_src calc :var y=[1 2 3]
3 y
#+end_src
#+results:
: 3 hline
something is most certainly wrong...
Alright, I've made two changes, first, it is now possible to pass elisp
vectors through to code blocks, e.g.,
#+begin_src emacs-lisp :var data=[1 2 3]
(elt data 1)
#+end_src
#+results:
: 2
Second, I've added a slightly hackey but seemingly necessary
post-processing step to a call to calc-eval in ob-calc to remove quotes
from vectors. This allows vector processing to take place---at least as
far as my limited calc knowledge is concerned. For example;
#+begin_src calc :var y=[1 2 3]
3 y
#+end_src
#+results:
: [3, 6, 9]
Hope this helps -- Cheers -- Eric
- [O] Re: [Orgmode] Possible Calc support for Org-Babel?,
Eric Schulte <=