ইন org-mode
, আমি একটি ফাংশন, একটি ভেরিয়েবল সংজ্ঞায়িত করার চেষ্টা করছি এবং তারপরে অন্য ভেরিয়েবলকে প্রথম ভেরিয়েবলের উপর ফাংশন কলের ফলাফল নির্ধারণ করে দিচ্ছি। যাইহোক, তারপরে মনে হয় যে পরবর্তী ফাংশন কলগুলিতে আমি এই নতুন পরিবর্তনশীলটি ব্যবহার করতে পারি না।
ফাংশন কলগুলি ইনলাইন করা কাজ করে, তবে প্রথম কোনও ক্রিয়াকলাপে কোনও কিছু ভুল হয়ে যায় এবং সম্ভাব্য ব্যয়বহুল সংখ্যায় নকল করা এড়াতে প্রথমে কোনও ভেরিয়েবলের মানকে প্রভাবিত করা দ্রুত ডিবাগের অনুমতি দেয়।
এমডব্লিউই: ( (require 'ob-emacs-lisp)
প্রয়োজনে ব্যবহার করুন )
#+name: square
#+begin_src emacs-lisp :var x=3
(message (format "%s" (* x x)))
#+end_src
#+RESULTS: square
: 9
#+name: value
: 45
#+name: squaredvalue
#+call: square(x=value)
#+RESULTS: squaredvalue
: 2025
Now I try to reuse this value:
#+begin_src emacs-lisp :var res=squaredvalue
(message res)
#+end_src
#+RESULTS:
: nil
Inlined calls do work:
#+begin_src emacs-lisp :var res=square(value)
(message res)
#+end_src
#+RESULTS:
: 2025
দ্বিতীয় কোড ব্লকটি প্রসারিত করে:
(let ((res (quote "nil")))
(message res))
আমি কী মিস করছি?
(এটি org 8.2.10 ব্যবহার করে ইমাস 24-2.1.1, 24.4 এবং 24.5 এ পরীক্ষা করা হয়েছে)