জিএনইউ ইম্যাক্সে পাইথনের এক-লাইন স্টেটমেন্টটি মূল্যায়ন করুন


1

আমি run-pythonতার "নিকৃষ্ট পাইথন শেল" এর জন্য জিএনইউ ইম্যাক্স 24.3 ব্যবহার করছি lisp-send-last-sexpএবং চলমান দোভাষীটিতে একটি অভিব্যক্তি প্রেরণ করে এবং মূল্যায়নের অনুরূপ আচরণ করার চেষ্টা করছি । আমি একবারে এক লাইনের জন্য এটি করার চেষ্টা করছি।

নীচের ফাংশনটিতে প্রদত্ত সমাধানগুলি আমি এখানে সংক্ষিপ্ত করে রেখেছি :

(add-hook 'python-mode-hook
          'my-python-send-statement)

(defun my-python-send-statement ()
  (interactive)
  (local-set-key [S-return] 'my-python-send-statement)
  (end-of-line)
  (set-mark (line-beginning-position))
  (call-interactively 'python-shell-send-region))

এটি কাজ করে, অর্ধেক আমি যখন এই কমান্ডটি বেশ কয়েকটি লাইনে চালিত করি, তখন আমি বেশ কয়েকটি >>> প্রম্পটের একটি স্ট্রিং পাই এবং কেন কেবল একটি লাইন প্রেরণ করা উচিত তা কেন আমি বুঝতে পারি না। এছাড়াও, কখনও কখনও ফলাফলটি তাত্ক্ষণিকভাবে প্রদর্শিত হবে না এবং আমাকে দু'বার কমান্ড চালাতে হবে। উদাহরণ স্বরূপ:

9 + 9 # .py ফাইলের 13 লাইন কমান্ডটি চালান,

======

# result in Python shell.

>>> >>> >>> >>> >>> >>> >>> >>> >>> >>> >>> >>> 18

উত্তর:


3

দাবি অস্বীকার করুন : নীচে স্ব-বিজ্ঞাপনে ...

একটি বাফার এবং একটি কোড দোভাষী এর মধ্যে মিথস্ক্রিয়া পরিচালনার জন্য, আমি বিকাশ করেছি isend-mode

আপনি এটি কীভাবে ব্যবহার করবেন তা এখানে রয়েছে:

  1. টার্মিনালে একটি অজগর দোভাষী চালান:

    M-xansi-termRET/usr/bin/pythonRET

  2. আপনার অজগর কোড সহ বাফারে স্যুইচ করুন:

    C-xbmy-buffer.pyRET

  3. এটি আপনার টার্মিনালের সাথে যুক্ত করুন:

    M-xisendRET*ansi-term*RET

  4. C-RETদোভাষীর কাছে বর্তমান বাফার লাইনটি প্রেরণ করতে টাইপ করুন ।

isend-mode(আমার দৃষ্টিকোণ থেকে, অন্তত) এর সুবিধাটি হ'ল এটি ভাষা-অজ্ঞাত। আপনি অজগর, শেল বা আপনার পছন্দ মতো যে কোনও অনুবাদিত ভাষার জন্য এটি একইভাবে ব্যবহার করতে পারেন।


0

ঠিক আছে, পাইথন শেল ফাংশন ব্রাউজ করার পরে আমি আরও একটি হ্যাক একসাথে রেখেছি যা আমার সমস্যার সমাধান করে: অঞ্চলটি প্রেরণের পরে একটি প্রিন্ট কমান্ড প্রেরণ করুন! যে কোনও কারণে এটি সমস্ত >>> অনুরোধ জানায় supp

(add-hook 'python-mode-hook
          'my-python-send-statement)

(defun my-python-send-statement ()
  (interactive)
  (local-set-key [S-return] 'my-python-send-statement)
  (end-of-line)
  (set-mark (line-beginning-position))
  (call-interactively 'python-shell-send-region)
  (python-shell-send-string "; print()"))
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.