[R] [FORGED] Re: Block comment?
Rolf Turner
r.turner at auckland.ac.nz
Sun Sep 3 06:49:04 CEST 2017
On 03/09/17 12:29, Duncan Murdoch wrote:
> On 02/09/2017 6:57 PM, Rolf Turner wrote:
>> On 03/09/17 03:56, William Dunlap via R-help wrote:
>>> Is the reason you want a block comment containing code (as opposed to
>>> arbitrary text) that you want to be able to easily run the commented out
>>> code? If so the 'if()' construct has the advantage that you only
>>> need to
>>> change code at the start of the comment, not at both ends.
>>>
>>> The if(FALSE) could be if(isTRUE(getOption("DEBUG_ISSUE_XYZ"))) so you
>>> would not even have to change code to re-enable the debugging code, just
>>> call options(DEBUG_ISSUE_XYX=TRUE)).
>>
>>
>> (a) The foregoing is getting too subtle for my feeble brain.
>>
>> (b) A fundamental problem with the
>>
>> if(FALSE) {
>> ...
>> }
>>
>> paradigm is that the enclosed code must be syntactically valid, and
>> there are certainly situations in which one might wish to comment out
>> sections of code that are *not* syntactically valid. E.g. one might
>> wish to comment out *part* of a piece of syntactically valid code for
>> the purpose of experimenting with an alternative approach.
>
> If the code is not syntactically valid, why would you expect the block
> comment to be syntactically valid?
I thought I had made that clear. One might wish to comment out a
*piece* of syntactically valid code (with a view to replacing it).
The piece commented out might not be syntactically valid simply because
it is *just a piece* and might thereby be incomplete.
> The proposal at the start of this
> thread was that #{ would open the block and would be matched by }# to
> close the block. What if the closing sequence occurred within the block
> unintentionally? Then the poor feeble programmer would be even more
> confused.
Do not the same considerations essentially apply to the well established
/* .... */ convention used in C? Well maybe you simply *can't* get the
"*/" string within a block of C code, but still ....
If "#{....}#" runs this risk, then some other construction which doesn't
run the risk could be used.
> I like the current rule:
De gustibus non disputandum.
> any line starting with # is a comment.
> (Actually the rule is a bit more subtle than that, but it's close.)
> If I want to comment out a block, I can spend a long time typing # at
> the start of every line, or I can ask my editor to do it. I don't need
> to worry if something in the block unintentionally closes it, because
> that's impossible. If the first line is a comment, all the rest are too.
I don't follow the foregoing, but no matter. I'm slow.
This issue is quite obviously No Big Deal. Block comments are a
convenience that it would be nice to have, but obviously one can live
without them and not suffer unduly.
cheers,
Rolf
--
Technical Editor ANZJS
Department of Statistics
University of Auckland
Phone: +64-9-373-7599 ext. 88276
More information about the R-help
mailing list