এমাকস রুবি প্রায় কাজ করে চলছে


132

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

এখানে আমার সেটআপ: https://github.com/map7/simple_emacs

আমি এটি উবুন্টু 10.04 এর অধীনে ব্যবহার করছি।

সাধারণ রুবি স্ক্রিপ্ট ফাইলগুলির জন্য এটি দুর্দান্ত কাজ করে। আমি একটি নতুন ফাইল খুলতে এবং টাইপ করতে পারেন।

"test".up...

ঠিক তেমনই আমি 'পি' অক্ষরটি টাইপ করতে চাইলে বিকল্পগুলির একটি তালিকা উপস্থিত হয় এবং আমি তীরচিহ্নের সাহায্যে তালিকার উপরে এবং নীচে যেতে পারি এবং এন্টার কী দিয়ে একটি (যেমন: উপগ্রহ) নির্বাচন করতে পারি।

যখন আমি ঠিক একই পরীক্ষা করি তবে রেল প্রকল্পের বেস ডিরেক্টরিতে যা কাজ করে না তা।

হালনাগাদ:

পাওয়া গেছে যে সমস্যাটি রয়েছে ('রেলগুলির প্রয়োজন'), সুতরাং এটি ইমাসস-রেল প্লাগইনে এমন কিছু যা স্বতঃপূরণ পছন্দ করে না।

হালনাগাদ:

এটি ইমাসস-রেল -> রেল-প্রজেক্ট.এল এর মধ্যে। যদি আমি এই ম্যাক্রোটিকে মন্তব্য করি তবে স্ব-পরিপূর্ণ কাজ করে, অন্যথায় এটি করে না:

(defmacro* rails-project:with-root ((root) &body body)
  "If you use `rails-project:root' or functions related on it
several times in a block of code, you can optimize your code by
using this macro. Also, blocks of code will be executed only if
rails-root exist.
 (rails-project:with-root (root)
    (foo root)
    (bar (rails-core:file \"some/path\")))
 "
 `(let ((,root (rails-project:root)))
    (when ,root
      (flet ((rails-project:root () ,root))
        ,@body))))

কেউ ব্যাখ্যা করতে পারে কেন এটি স্বতঃসম্পূর্ণ হয়?



1
আমি বলতে চাইছিলাম, এখানে ম্যাক্রো ব্যবহার করা হয় কোথায়?
মিলিপোস্টম্যান

1
আমি সাধারণত এমভিসিতে বিভিন্ন ফাইলের মধ্যে লাফিয়ে ডিবি / সার্ভার / কনসোল / ইত্যাদি শুরু করতে রেল ম্যাক্রো ব্যবহার করি।
map7

1
আপনি কি উত্তর দেওয়ার জন্য নিজের সমাধানটি বের করতে এবং এটিকে "ওয়ার্কস" টিকিট দিতে পারেন?
przemo_li

2
উদাহরণস্বরূপ, আমি যদি এর উত্তর পাই তবে আমি স্বতঃসমম্পূর্ণ এখনও কাজ করে না যখন আপনি Rails.el প্লাগইন ইনস্টল করেছেন এবং আপনি একটি রেল গৌণ মোড উত্স কোড ফাইলের মধ্যে স্বয়ংক্রিয়ভাবে চেষ্টা করার চেষ্টা করছেন।
map7

উত্তর:


7

এখানে একটি চিন্তাভাবনা রয়েছে: ম্যাক্রো একটি fletফাংশনকে (rails-project:root)একবার কার্যকর করার (rails-project:root)আগে যে মান দিয়ে দেয় তার সাথে আবদ্ধ bodyকরে। (এটিরূপে এটি একটি পারফরম্যান্স বৃদ্ধির দাবি করে: বাহ্যত বাহ্যিক (rails-project:root)ব্যয়বহুল, তাই একবার কল করা এবং মানটি ক্যাশ করা ভাল ধারণা বলে মনে হয়))

দুর্ভাগ্যক্রমে, যদি এর ভিতরে কোড থাকে তবে এর bodyপার্শ্ব প্রতিক্রিয়াটি ইচ্ছাকৃতভাবে (rails-project:root)ফিরে আসা মানটি পরিবর্তন করতে বোঝায় , এর কোনও প্রভাব পড়বে না। এই পরিবর্তন এমনকি অন্য bodyকোডেও অদৃশ্য হবে কারণ ইমাস লিসপ নামের গতিশীল বাঁধাই রয়েছে flet

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