পরবর্তী ব্যবহারের জন্য ক্যালকের ট্রেল সংরক্ষণ করা হচ্ছে


12

ইমাকস ক্যালকুলেটর ট্রেইল (ফাইল হিসাবে) সংরক্ষণ এবং এটি পুনরুদ্ধার করার কি কোনও সম্ভাবনা আছে? যদি না হয়, তবে এটি বৈশিষ্ট্যযুক্ত হওয়া উচিত?

উদাহরণস্বরূপ, যখন আমার একটি অসম্পূর্ণ গণনা আছে তবে আমার ইমাসগুলি বন্ধ করতে হবে, আমি পরে চালিয়ে যেতে পারলে দুর্দান্ত হবে।

দ্বিতীয় কেস: আমি কিছু গণনা করি এবং আমি এটি কীভাবে করেছি তা সঞ্চয় করতে চাই, পরে আমি এটি সঠিকভাবে করেছি কিনা তা যাচাই করতে বা এটি সংশোধন করতে হবে।

দ্বিতীয় কারণ হ'ল আমি অল্প গণনা করার জন্য কেন ম্যাটল্যাব (আমি জানি, খুব বেশি) ব্যবহার করছি, তাই আমি সেগুলি পুনরুদ্ধার করতে পারি। তবে আমি কেবল ইমাস ক্যালক ব্যবহার করতে চাই!

উত্তরের জন্য ধন্যবাদ


1
সম্ভবত এম্বেড মোড আপনি কি চান?
এনপোস্টভগুলি

আমি জানি ক্যালক কীবোর্ড ম্যাক্রোগুলির সাথে সুসংহত এবং এমনকি তাদের প্রসারিত করে। আপনি কেন তাদের নিয়মিত কুমাক্রস হিসাবে সংরক্ষণ করতে পারবেন না তা আমি দেখতে পাচ্ছি না। এছাড়াও আপনি জিএনইউ অক্টাভ চেষ্টা করেছেন? এটি বেশিরভাগ মতলবের সাথে সামঞ্জস্যপূর্ণ বলে মনে করা হয় এবং এটি ইম্যাকস মোডের সাথে আসে।
কেভিন হোমস

1
আমি বিশ্বাস করি যে অরগের এসআরসি ব্লকগুলি (এমবেডেড মোড ছাড়াও) ক্যালকের জন্য হবে বিশেষত আপনার দ্বিতীয় ক্ষেত্রে। দুর্ভাগ্যক্রমে src ব্লক কোডটি (এখনও) বেসিক স্টাফের চেয়ে বেশি পরিশীলিত নয়। দয়া করে এক নজরে
ডায়েটার.ওহেলহ্যাম

@estownya - দয়া করে উত্তর অনুসারে উত্তর দিয়ে কিছু উদাহরণ ক্যালক কোড পোস্ট করুন।
মেলিওরাটাস

ঠিক আছে, ক্যালক ট্রেলটি অন্য কোনও মতো বাফার। আপনি এটিতে স্যুইচ করতে এবং C-x C-wএটি লিখতে পারেন। আমি মনে করি না আপনি যখন পুনরায় লোড করতে চান তখন সমস্ত ক্যালক রাজ্যের পুনর্গঠনের কোনও সহজ উপায় নেই।
মানচিত্র

উত্তর:


0

যেহেতু ক্যালকের ট্রেইল প্রক্রিয়াকরণ হ'ল পাঠ্য ভিত্তিক একটি মূলত ব্যবহার করতে পারে write-regionএবং insert-file-contents

তবুও কিছু বিশদ বিবেচনা করা আবশ্যক। নিম্নলিখিত এলিস্প কোডটি আপনাকে ডিস্কে বর্তমান ক্যালক-ট্রেইল বাফারটি লিখতে দেয় C-x C-sএবং আপনি বর্তমান কার্সার অবস্থাতে এই জিনিসটি আবার পড়তে পারেন C-x i

এরপরে আপনি calc-trail-modeপঠিত ক্যালક কমান্ডের অংশগুলি মূল্যায়নের জন্য বাইন্ডিংগুলি ব্যবহার করতে পারেন ।

(defvar-local calc-trail-buffer-file-name nil
  "Like `buffer-file-name' for calc-trail buffers.")

(defun calc-trail-save (&optional filename)
  "Save current calc trail buffer.
To be used in `write-contents-functions'.
Append with current prefix arg."
  (interactive "FCalc Trail File: ")
  (unless filename
    (setq calc-trail-buffer-file-name
      (expand-file-name (setq filename
                  (read-file-name "Calc Trail File: " nil calc-trail-buffer-file-name)))))
    (when (null (derived-mode-p 'calc-trail-mode))
    (user-error "Saving calc trail buffers requires calc-trail-mode"))
  (save-point
   (save-restriction
     (widen)
     (let* ((b-trail (progn (goto-char 1) (1+ (line-end-position))))
        (b (progn (goto-char (max (or (and (use-region-p) (region-beginning)) (point-min)) b-trail))
              (line-beginning-position)))
        (e (progn (goto-char (max (or (and (use-region-p) (region-end)) (point-max)) b-trail))
              (line-end-position))))
       (write-region b e filename current-prefix-arg)))))

(defun calc-insert-file (filename)
  "Insert calc-trail file FILENAME at point."
  (interactive "FCalc trail file: ")
  (when (= (line-beginning-position) 1)
    (goto-char (1+ (line-end-position))))
  (goto-char (line-beginning-position
          (if (looking-at "[[:space:]]*$")
          2
        1)))
  (let ((inhibit-read-only t))
    (insert-file-contents filename)
    (when (and (null (looking-at "[[:space:]]*$"))
           (null (looking-back "^[[:space:]]*" (line-beginning-position))))
      (insert "\n"))))

(defun calc-trail-install-save ()
  "Install `calc-trail-save' in `write-contents-functions' of `calc-trail-mode' buffers."
  (push #'calc-trail-save write-contents-functions)
  (local-set-key (kbd "C-x i") #'calc-insert-file))

(add-hook 'calc-trail-mode-hook #'calc-trail-install-save)

-1

আপনি s pযা ব্যবহার করতে পারেন যাতে (calc-permanent-variable &optional VAR)সমস্ত পরিবর্তনশীল ~/.emacs.d/calc.elবা সংরক্ষণ করতে পারে calc-settings-file


2
তবে এটি গণনার ইতিহাসের চেয়ে বর্তমান মানটি সংরক্ষণ করে।
অ্যান্ড্রু সোয়ান
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.