class RakuAST::Doc::Paragraph
class RakuAST::Doc::Paragraph { }
The RakuAST::Doc::Paragraph class contains the information about a
logical paragraph in a RakuDoc block.
Support for RakuAST functionality is available in language version
6.e+ and was added in Rakudo compiler release 2023.02. In earlier
language versions it is only available when specifying:
use experimental :rakuast;
Object introspection
RakuAST::Doc::Paragraph objects are typically created when parsing
Raku Programming Language code that has RakuDoc markers in it.
So most developers will only need to know how to introspect the
objects created.
method atoms
.put for $paragraphs.atoms;
# Text before ā¤B<and>⤠after markupā¤
Returns the atoms of the paragraph. These are generally a mix of strings and RakuAST::Doc::Markup objects.
method Str
put $paragraph; # Text before B<and> after markupā¤ā¤
Returns the string for the paragraph, with any markup stringified.
method raku
# method .gist falls back to .raku
say $block; # RakuAST::Doc::Paragraph.new(...
Returns the string that is needed for the creation of the paragraph using RakuAST calls.
Object creation
One seldom creates RakuAST::Doc::Paragraph objects directly. This
documentation is intended for those few people who'd like to devise
their own way of programmatically building a RakuAST::Doc::Paragraph
object.
method new
method new(*@atoms)
The new method must be called to create a new RakuAST::Doc::Paragraph
object. It takes any number of positional arguments as the atoms of
the logical paragraph, where an atom is either a string or a
RakuAST::Doc::Markup object.
Typically a RakuAST::Doc::Paragraph object is only created if a
logical paragraph has at least one markup object.
my $paragraph = RakuAST::Doc::Paragraph.new(
"Text before ",
RakuAST::Doc::Markup.new(:letter<B>, :atoms("and")),
" after markup\n"
);
Object modification
method add-atom
$paragraph.add-atom("baz\n");
Add an atom: should be a string, or a RakuAST::Doc::Markup object.