سؤال

في بيثون العالم ، هناك عدد من بديل الثعبان المترجمين أن إضافة بارد ميزات إضافية.واحدة مفيدة بشكل خاص المثال bpython ، الذي يضيف ديناميكية تسليط الضوء على بناء الجملة ، تلقائيا تسحب الوثائق و العروض الحية الإكمال التلقائي المعلومات.في العالم روبي, حتى الآن لم تكشف أي من المشاريع التي تضيف الأساسية IRB مترجم حتى مجموعة فرعية من هذه الميزات.أنا فقط لا تبحث الصعب بما فيه الكفاية ، أو أن هذا مجرد شيء روبي المجتمع ينقصنا ؟

هل كانت مفيدة؟

المحلول

يا لها من صدفة. Rubyflow بالأمس فقط أعلنت irbtools جوهره ، وهو الفوقية الأحجار الكريمة التي تحتوي على الكثير من بارد irb تعزيز الأحجار الكريمة.أنه يحتوي على:

  • الملونة و الإخراج تعليق wirb و fancy_irb
  • لطيفة IRB موجه و IRB السيارات المسافة البادئة
  • ويشمل stdlib هو FileUtils: ls, cd, pwd, ln_s, rm, mkdir, touch, cat
  • العديد من التصحيح المساعدين: ap, q, o, c, y, Object#m, Object#d
    • ap – awesome_print
    • q مثل p, ولكن على سطر واحد
    • Object#m – طلب طريقة قائمة (يأخذ صحيح المعلمة:مستوى التداخل)
    • Object#d – يضع الكائن ، عوائد النفس (باستخدام tap)
  • "السحرية" المعلومات الثوابت: Info, OS, RubyVersion, RubyEngine
    • OS.windows?
    • RubyEngine.jruby?
    • RubyVersion.is.at_least? 1.9
  • الحافظة الميزات: copy و paste
    • تتوفر أيضا: copy_input و copy_output عن الدورة التاريخ
  • الاتصال vim (أو آخر معتمد محرر) إلى تحرير الملف وإغلاقه ويحصل تحميل إلى موقعك الحالي irb الدورة مدعوم من interactive_editor
  • طريقة أخرى تعيش التحميل في المجلس:الرسومات
  • تسليط الضوء على سلسلة مع olorize('string') أو ملف مع ray('path'), مدعوم من coderay
  • يعرض ActiveRecord إدخالات قاعدة البيانات مثل الجداول مع hirb
  • إعادة تشغيل irb مع reset! أو تغيير روبي النسخة مع use طريقة rvm!
  • يتضمن الدليل الحالي في مسار الحمل (تم إزالتها في 1.9.2 لأسباب أمنية ، ولكن هو مزعج جدا في IRB)
  • أقصر التي تتطلب مثل هذا: rq:mathn
  • و rerquiring مع rrq
  • حاول تضمين Object#ri مساعد مدعوم من ori!
  • الوصول إلى الكثير من الأوامر boson – استدعاء الأوامر للبدء

هناك لقطات لطيفة على irbtools الصفحة.من أن كل من المرافق يمكن أن يقف من تلقاء نفسها في حال كنت ترغب فقط في الكرز اختيار واحد أو اثنين من الميزات.

تحديث 2013

منذ كتبت هذا ، حدق أصبح من شعبية المجلس الاستبدال.فإنه لا يفعل بقدر irbtools من خارج منطقة الجزاء ، لكنه الموسعة مع البرنامج المساعد الأحجار الكريمة التي تضيف ميزات بارد.يمكنك تصفح التعليمات البرمجية المصدر مثل unix الدليل:

pry(main)> cd FileUtils
pry(FileUtils):1> show-method rm

From: /opt/ruby/lib/ruby/1.9.1/fileutils.rb @ line 556:
Number of lines: 10
Owner: FileUtils

def rm(list, options = {})
  fu_check_options options, OPT_TABLE['rm']
  list = fu_list(list)
  fu_output_message "rm#{options[:force] ? ' -f' : ''} #{list.join ' '}" if options[:verbose]
  return if options[:noop]

  list.each do |path|
    remove_file path, options[:force]
  end
end
pry(FileUtils):2>

يمكنك أيضا تصفح روبي الوثائق ، إصدار الأوامر قذيفة, و إذا كنت القضبان المستخدم, يمكنك استخدام pry-rails الأحجار الكريمة للحصول على نقب في قضبان التحكم.هناك أيضا طريقة لوصل الأمر إلى سيناترا و استخدامه مع Heroku.

هناك وافرة من الوثائق--هناك مجموعة من قطات للشاشة بما في ذلك Railscast.انها بالتأكيد تستحق النظر في.

نصائح أخرى

استخدم Pry: http://pry.github.com

يتيح لك:

  • بدء الجلسات في وقت التشغيل
  • عرض رمز مصدر الطريقة
  • عرض توثيق طريقة (عدم استخدام RI حتى لا تضطر إلى توصيله مسبقًا)
  • انطلق داخل وخارج سياقات مختلفة
  • تسليط الضوء على تركيب
  • تكامل جوهر
  • عرض التاريخ وإعادة تشغيله
  • فتح المحررين لتحرير الطريقة باستخدام edit-method obj.my_method بناء الجملة

طن أكثر رائعة وأصلية

لم أسمع قط عن بديل (شعبي) لـ IRB ، ولكن هناك بالتأكيد العديد من الأحجار الكريمة المفيدة التي تجعل تجربة IRB أجمل كثيرًا:

  • Awesome_print يطبع جميلة كائنات روبي مع المسافة البادئة والتلوين ، مفيدة للغاية عند محاولة النظر إلى تجزئة متداخلة أو هياكل البيانات المعقدة الأخرى.
  • انظر رائع جدا ، فهو يوفر طريقة lp (مسار البحث) الذي يوضح لك حيث يحصل كائن روبي على أساليبه من (الفئة ، الفئة الفائقة إلخ).
  • الرسومات يربط المحرر الخاص بك و IRB ، لذلك من المفيد بشكل خاص إذا كنت من النوع الذي يحب التطوير التفاعلي. emacs مع inf-ruby هو أيضا جيد لهذا.
  • Wirble هي مجموعة كاملة من تحسينات IRB ، مثل إكمال علامة التبويب وتمييز بناء الجملة. هناك ايضا حزام فائدة, ، لكنني لا أستخدم ذلك شخصيًا ، لذلك لا يمكنني التعليق على ميزاته.

يحرر

انا نسيت هيرب, ، وهو مفيد للغاية في إظهار نتائج استعلام ActivereCord في وحدة تحكم Rails.

السفن jRuby مع jirb_swing, ، والذي يوفر إكمال رمز.

لا يوجد الكثير في مجال بدائل IRB ، ولكن هناك بعض الأحجار الكريمة التي تضيف ميزات مفيدة إلى IRB.

الجدير بالذكر Wirble, ، والتي ، من بين أشياء أخرى ، تمنحك إخراج ملون (وليس الإدخال) والتاريخ الذي يتجاوز الجلسة الحالية.

الدفع RIPL, ، بديل IRB وحدات مصمم ليكون قابلاً للتمديد. يمكنك أيضًا الحصول على بعض الإجابات من هل هناك شيء مثل Bpython لروبي؟.

الضلع وحدات والضوء روبي التفاعلية قذيفة.

مثل التطفل يستخدم روبي محلل حتى السلوك بما يتفق مع روبي وبالتالي أقل البق (مثلا ، https://stackoverflow.com/a/39271791/474597)

فمن وحدات حتى واحد يمكن أن تمتد بسهولة مع المزيد من الوظائف.

بل هو أيضا لا يزال يحتفظ بنشاط اعتبارا من عام 2016.

لقد صنعت وحدة تحكم Ruby Pure ، ألهمت وحدة JavaScript من Google Chrome.

https://github.com/sancarn/rubyconsole

لا يزال في الغالب مشروع WIP حيث أستمر في العثور على الأخطاء مع الخوارزمية الحالية ، ومع ذلك أقوم ببناءه ليكون 1.9.3+ متوافق.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top