[Rd] cat(fill=N)

David Hugh-Jones davidhughjones at gmail.com
Fri Mar 16 17:26:15 CET 2018


Agreed. Perhaps this is a documentation issue:

    fill: a logical or (positive) numeric controlling how the output is
          broken into successive lines.  If ‘FALSE’ (default), only
          newlines created explicitly by ‘"\n"’ are printed.
          Otherwise, the output is broken into lines with print width
          equal to the option ‘width’ if ‘fill’ is ‘TRUE’, or the value
          of ‘fill’ if this is numeric.  Non-positive ‘fill’ values are
          ignored, with a warning.

could add "Newlines are only printed between elements of x, not within
elements".

But I think the behaviour I expected is more intuitive. The natural use
case is to
limit line length, and if so, that should apply globally not just between
elements.


On 16 March 2018 at 16:19, Serguei Sokol <sokol at insa-toulouse.fr> wrote:

> Le 16/03/2018 à 17:10, David Hugh-Jones a écrit :
>
>> Hi all,
>>
>> I expect I'm getting something wrong, but
>>
>> cat("foo bar baz foo bar baz foo bar baz", fill = 10)
>>
>> should be broken into lines of width 10, whereas I get:
>>
>> cat("foo bar baz foo bar baz foo bar baz", fill = 10)
>>>
>> foo bar baz foo bar baz foo bar baz
>>
> On the other side, if I do
> > cat(strsplit("foo bar baz foo bar baz foo bar baz", " ")[[1]], fill = 10)
> I get the expected result:
>
> foo bar
> baz foo
> bar baz
> foo bar
> baz
>
> Which suggest that cat() doesn't break elements of submitted character
> vector
> put put enough of them to fill the requested width.
>
> Serguei.
>
>
>> This is on R 3.4.3, but I don't see mentions of it fixed in 3.4.4 or
>> r-devel NEWS.
>>
>> Cheers,
>> David
>>
>>         [[alternative HTML version deleted]]
>>
>> ______________________________________________
>> R-devel at r-project.org mailing list
>> https://stat.ethz.ch/mailman/listinfo/r-devel
>>
>>
>

	[[alternative HTML version deleted]]



More information about the R-devel mailing list