Long literals, with continuations: Difference between revisions
Content added Content deleted
No edit summary |
(add Pascal) |
||
Line 230: | Line 230: | ||
Number of elements: 118 |
Number of elements: 118 |
||
Last element: oganesson |
Last element: oganesson |
||
</pre> |
|||
=={{header|Free Pascal}}== |
|||
The <tt>{$longStrings on}</tt> compiler directive enables the ANSI string data type. |
|||
ANSI strings are pointers to sequences of characters. |
|||
The data type includes a reference count and a (4-Byte long) <tt>length</tt> field. |
|||
<lang pascal> |
|||
program longStringLiteralDemo(output); |
|||
{$mode objFPC} |
|||
{$longStrings on} |
|||
uses |
|||
// for `format` |
|||
sysUtils, |
|||
// for `wordCount` and `extractWord` |
|||
strUtils; |
|||
const |
|||
elementString = 'hydrogen helium lithium beryllium boron carbon nitrogen oxy' + |
|||
'gen fluorine neon sodium magnesium aluminum silicon phosphorous sulfur chl' + |
|||
'orine argon potassium calcium scandium titanium vanadium chromium manganes' + |
|||
'e iron cobalt nickel copper zinc gallium germanium arsenic selenium bromin' + |
|||
'e krypton rubidium strontium yttrium zirconium niobium molybdenum techneti' + |
|||
'um ruthenium rhodium palladium silver cadmium indium tin antimony telluriu' + |
|||
'm iodine xenon cesium barium lanthanum cerium praseodymium neodymium prome' + |
|||
'thium samarium europium gadolinium terbium dysprosium holmium erbium thuli' + |
|||
'um ytterbium lutetium hafnium tantalum tungsten rhenium osmium iridium pla' + |
|||
'tinum gold mercury thallium lead bismuth polonium astatine radon francium ' + |
|||
'radium actinium thorium protactinium uranium neptunium plutonium americium' + |
|||
' curium berkelium californium einsteinium fermium mendelevium nobelium law' + |
|||
'rencium rutherfordium dubnium seaborgium bohrium hassium meitnerium darmst' + |
|||
'adtium roentgenium copernicium nihonium flerovium moscovium livermorium te' + |
|||
'nnessine oganesson'; |
|||
elementRevision = '2020‑11‑11'; |
|||
resourcestring |
|||
revisionNotice = 'Last update: %0:s'; |
|||
begin |
|||
writeLn(format(revisionNotice, [elementRevision])); |
|||
writeLn(wordCount(elementString, stdWordDelims)); |
|||
writeLn(extractWord(wordCount(elementString, stdWordDelims), |
|||
elementString, stdWordDelims)); |
|||
end. |
|||
</lang> |
|||
{{out}} |
|||
<pre> |
|||
Last update: 2020‑11‑11 |
|||
118 |
|||
oganesson |
|||
</pre> |
</pre> |
||
Line 795: | Line 846: | ||
118 elements, the last being "oganesson" |
118 elements, the last being "oganesson" |
||
</pre> |
</pre> |
||
{{omit from|Pascal|string literals may not span multiple lines}} |