سؤال

أنا (نوعا ما) تعرف الجواب على هذا السؤال.لكنني أحسب أنه هو واحد أن يحصل على طلب كثير من الاحيان على R قائمة المستخدمين ، ينبغي أن يكون هناك واحد متين إجابة جيدة. على حد علمي لا يوجد أي تعليق متعدد الأسطر وظائف في ر.هل لدى أحدكم أي خير الحلول?

في حين أن قدرا كبيرا من العمل في R عادة ما ينطوي على جلسات تفاعلية (الأمر الذي يلقي بظلال من الشك على ضرورة متعدد تعليقات), هناك أوقات عندما كنت قد ترسل النصوص إلى الزملاء و زملاء الدراسة ، والذي يتضمن بديهي كتل من التعليمات البرمجية.و بالنسبة للأشخاص القادمين من اللغات الأخرى فمن الطبيعي إلى حد ما السؤال.

في الماضي كنت تستخدم علامات الاقتباس.منذ سلاسل الدعم linebreaks, تشغيل R النصي مع

"
Here's my multiline comment.

"
a <- 10
rocknroll.lm <- lm(blah blah blah)
 ...

يعمل بشكل جيد.هل من أحد لديه حل أفضل ؟

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

المحلول

هذه لا تأتي على القائمة البريدية بشكل منتظم إلى حد ما ، انظر على سبيل المثال هذا الموضوع على r-مساعدة.توافق الآراء الجواب هو عادة واحد هو مبين أعلاه:أنه بالنظر إلى أن اللغة لديه الدعم المباشر, لديك إما

  • العمل مع محرر له المنطقة إلى تعليق الأوامر و الأكثر تقدما R المحررين لا
  • استخدام if (FALSE) يبني اقترح في وقت سابق ولكن لاحظ أنه لا يزال يتطلب استكمال تحليل ولذلك يجب أن تكون صحيحة نحويا

نصائح أخرى

يمكنك القيام بذلك بسهولة في RStudio:

حدد الرمز ثم اضغط على CTR+التحول+ج التعليق/uncomment رمز.

خدعة متقنة على RStudio لقد اكتشفت للتو هو استخدام #' لأن هذا يخلق الذاتي توسيع قسم التعليق (عند العودة إلى خط جديد من هذا الخط أو إدراج خطوط جديدة في هذا القسم هو تلقائيا التعليق).

[تحديث] استنادا إلى التعليقات.

# An empty function for Comments
Comment <- function(`@Comments`) {invisible()}

#### Comments ####
Comment( `

  # Put anything in here except back-ticks.

  api_idea <- function() {
    return TRUE
  }

  # Just to show api_idea isn't really there...
  print( api_idea )

`)
####

#### Code. ####
foo <- function() {
  print( "The above did not evaluate!")
}
foo()

[الجواب الأصلية]

وإليك طريقة أخرى...تحقق من الموافقة المسبقة عن علم في الجزء السفلي.قص ولصق كتلة التعليمات البرمجية في RStudio.

متعدد التعليقات التي تجعل من استخدام IDE المزيد فعالية هي "شيء جيد" ، معظم بيئات التطوير أو بسيطة المحررين لا يجب تسليط الضوء على النص في حدود بسيطة علق بها كتل ؛ على الرغم من أن بعض المؤلفين قد اتخذت من الوقت لضمان تحليل داخل هنا-السلاسل.مع R ليس لدينا خط متعددة تعليقات أو هنا-سلاسل أيضا ولكن باستخدام تعبيرات غير مرئية في RStudio يعطي كل هذا الخير.

طالما لا يوجد أي backticks في القسم المطلوب لاستخدامها في التكوين التعليقات هنا-السلاسل ، أو عدم تنفيذها التعليق كتل ثم هذا قد يكون شيئا يستحق-في حين.

#### Intro Notes & Comments ####
invisible( expression( `
{ <= put the brace here to reset the auto indenting...

  Base <- function()
  {      <^~~~~~~~~~~~~~~~ Use the function as a header and nesting marker for the comments
         that show up in the jump-menu.
         --->8---
  }

  External <- function()
  {
    If we used a function similar to:
      api_idea <- function() {

        some_api_example <- function( nested ) {
          stopifnot( some required check here )
        }

        print("Cut and paste this into RStudio to see the code-chunk quick-jump structure.")
        return converted object
      }

    #### Code. ####
    ^~~~~~~~~~~~~~~~~~~~~~~~~~ <= Notice that this comment section isnt in the jump menu!
                                  Putting an apostrophe in isn't causes RStudio to parse as text
                                  and needs to be matched prior to nested structure working again.
    api_idea2 <- function() {

    } # That isn't in the jump-menu, but the one below is...

    api_idea3 <- function() {

    }

  }

    # Just to show api_idea isn't really there...
    print( api_idea )
    }`) )
####

#### Code. ####
foo <- function() {
  print( "The above did not evaluate and cause an error!")
}

foo()

## [1] "The above did not evaluate and cause an error!"

و هنا هو الموافقة المسبقة عن علم...

Structured Comments

أستطيع أن أفكر في اثنين من الخيارات.الخيار الأول هو استخدام محرر يسمح لمنع التعليق uncomment (على سبيل المثال.الكسوف).الخيار الثاني هو استخدام جملة if.ولكن من شأنها أن تسمح لك 'تعليق' الصحيح R جملة.وبالتالي المحرر الجيد هو يفضل الحل.

if(FALSE){
     #everything in this case is not executed

}

إذا وجدت أنه لا يصدق أن أي لغة لا تناسب هذا.

وربما هذا هو أنظف الحل:

anything="
first comment line
second comment line
"

وبصرف النظر عن استخدام overkilled طريقة التعليق متعدد الخطوط رموز فقط عن طريق تثبيت RStudio ، يمكنك استخدام Notepad++ كما أنه يدعم تسليط الضوء على بناء الجملة R

(اختيار متعدد الخطوط) -> تحرير -> تعليق/Uncomment -> تبديل كتلة التعليق

ملاحظة أن تحتاج إلى حفظ التعليمات البرمجية كما .R المصدر الأول (باللون الأحمر)

Note that you need to save the code as a .R source first (highlighted in red)

يمكنني استخدام همة لتحرير R النصي.

دعونا نقول R السيناريو هو اختبار.R, التي تحتوي على القول "1", "2", و "خط 3" في 3 أسطر منفصلة.

أنا اختبار مفتوحة.R على سطر الأوامر مع همة طريق كتابة "همة الاختبار.R".ثم أذهب إلى خط 1st أريد التعليق ، نوع "Control-V", السهم إلى السطر الأخير أريد أن أعلق اكتب العاصمة أي"أنا" من أجل إدراج نوع " # " ثم ضرب على مفتاح الهروب إلى إضافة "# " إلى أن كل سطر المحدد من قبل arrowing أسفل.حفظ الملف في همة ومن ثم الخروج همة بكتابة ":وك".التغييرات يجب أن تظهر في Rstudio.

حذف التعليقات في همة, تبدأ في السطر الأول على رأس الحرف "#" التي تريد حذفها ، القيام مرة أخرى "Control-V" ، والسهم لأسفل إلى اخر سطر كنت تريد حذف "#" من.ثم اكتب "dd".فإن "#" علامات ينبغي حذفها.

هناك ثانية قيمتها من الفارق الزمني بين عند إجراء تغييرات لاختبار.R في همة تنعكس في Rstudio.

في RStudio طريقة سهلة للقيام بذلك هو كتابة التعليق مرة واحدة كنت قد استخدمت CTRL + Shift + C تعليق السطر من التعليمات البرمجية ، ثم استخدم CTRL + SHIFT + / أن إنحسر يمكنك التعليق على خطوط متعددة لسهولة القراءة.

في بيثون تقوم متعدد التعليق مع 3x علامات الاقتباس المفردة قبل و بعد التعليقات.حاولت في هذا البحث و يبدو أن العمل أيضا.

على سبيل المثال.

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