Literals/String: Difference between revisions
Content added Content deleted
Drkameleon (talk | contribs) |
m (→{{header|Phix}}: added syntax colouring the hard way, phix/basics) |
||
Line 1,851: | Line 1,851: | ||
=={{header|Phix}}== |
=={{header|Phix}}== |
||
{{libheader|Phix/basics}} |
|||
single character literals (incidentally entirely equivalient to their ascii value) require single quotes, eg |
single character literals (incidentally entirely equivalient to their ascii value) require single quotes, eg |
||
<lang Phix>constant UPPERCASEJ = 'J' -- equivalent to 74</lang> |
|||
⚫ | |||
<span style="color: #008080;">constant</span> <span style="color: #000000;">UPPERCASEJ</span> <span style="color: #0000FF;">=</span> <span style="color: #008000;">'J'</span> <span style="color: #000080;font-style:italic;">-- equivalent to 74</span> |
|||
<!--</lang>--> |
|||
string literals use double quotes, eg |
string literals use double quotes, eg |
||
<lang Phix>constant hw = "Hello World!", |
|||
<!--<lang Phix>--> |
|||
mt = "" -- empty string</lang> |
|||
<span style="color: #008080;">constant</span> <span style="color: #000000;">hw</span> <span style="color: #0000FF;">=</span> <span style="color: #008000;">"Hello World!"</span><span style="color: #0000FF;">,</span> |
|||
<span style="color: #000000;">mt</span> <span style="color: #0000FF;">=</span> <span style="color: #008000;">""</span> <span style="color: #000080;font-style:italic;">-- empty string</span> |
|||
<!--</lang>--> |
|||
Note that 'z' and "z" are quite different. In Phix there is a strong difference between a character and a string. |
Note that 'z' and "z" are quite different. In Phix there is a strong difference between a character and a string. |
||
Line 1,864: | Line 1,873: | ||
Phix strings can also be used to hold "raw binary", ie instead of a sequence of characters, a sequence of any bytes in the range 0 to 255.<br> |
Phix strings can also be used to hold "raw binary", ie instead of a sequence of characters, a sequence of any bytes in the range 0 to 255.<br> |
||
Strings are fully mutable: you can append, prepend, replace, substitute, and crop characters and slices (/substrings) any way you like, eg |
Strings are fully mutable: you can append, prepend, replace, substitute, and crop characters and slices (/substrings) any way you like, eg |
||
<lang Phix>string s = "food" |
|||
<!--<lang Phix>--> |
|||
s[2..3] = 'e' -- s is now "feed" (replace all) |
|||
<span style="color: #004080;">string</span> <span style="color: #000000;">s</span> <span style="color: #0000FF;">=</span> <span style="color: #008000;">"food"</span> |
|||
s[2..2] = "east" -- s is now "feasted" (replace substring) |
|||
<span style="color: #000000;">s</span><span style="color: #0000FF;">[</span><span style="color: #000000;">2</span><span style="color: #0000FF;">..</span><span style="color: #000000;">3</span><span style="color: #0000FF;">]</span> <span style="color: #0000FF;">=</span> <span style="color: #008000;">'e'</span> <span style="color: #000080;font-style:italic;">-- s is now "feed" (replace all)</span> |
|||
s[2..5] = "" -- s is now "fed"</lang> |
|||
<span style="color: #000000;">s</span><span style="color: #0000FF;">[</span><span style="color: #000000;">2</span><span style="color: #0000FF;">..</span><span style="color: #000000;">2</span><span style="color: #0000FF;">]</span> <span style="color: #0000FF;">=</span> <span style="color: #008000;">"east"</span> <span style="color: #000080;font-style:italic;">-- s is now "feasted" (replace substring)</span> |
|||
<span style="color: #000000;">s</span><span style="color: #0000FF;">[</span><span style="color: #000000;">2</span><span style="color: #0000FF;">..</span><span style="color: #000000;">5</span><span style="color: #0000FF;">]</span> <span style="color: #0000FF;">=</span> <span style="color: #008000;">""</span> <span style="color: #000080;font-style:italic;">-- s is now "fed"</span> |
|||
<!--</lang>--> |
|||
Special characters may be entered (between quotes) using a back-slash: |
Special characters may be entered (between quotes) using a back-slash: |
||
<pre> |
<pre> |
||
Line 1,888: | Line 1,901: | ||
Strings can also be entered by using triple quotes or backticks intead of double quotes to include linebreaks and avoid any backslash interpretation. |
Strings can also be entered by using triple quotes or backticks intead of double quotes to include linebreaks and avoid any backslash interpretation. |
||
If the literal begins with a newline, it is discarded and any immediately following leading underscores specify a (maximum) trimming that should be applied to all subsequent lines. Examples: |
If the literal begins with a newline, it is discarded and any immediately following leading underscores specify a (maximum) trimming that should be applied to all subsequent lines. Examples: |
||
⚫ | |||
⚫ | |||
⚫ | |||
<!--<lang Phix>--> |
|||
ts = """ |
|||
<span style="color: #000000;">ts</span> <span style="color: #0000FF;">=</span> ""<span style="color: #008000;">` |
|||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
<span style="color: #000000;">ts</span> <span style="color: #0000FF;">=</span> ""<span style="color: #008000;">` |
|||
⚫ | |||
⚫ | |||
<span style="color: #000000;">ts</span> <span style="color: #0000FF;">=</span> <span style="color: #008000;">`this |
|||
⚫ | |||
<span style="color: #000000;">ts</span> <span style="color: #0000FF;">=</span> <span style="color: #008000;">"this\nstring\\thing"</span> |
|||
<!--</lang>--> |
|||
ts = `this |
|||
⚫ | |||
ts = "this\nstring\\thing"</lang> |
|||
which are all equivalent. |
which are all equivalent. |
||
Line 1,907: | Line 1,924: | ||
Hex string literals are also supported (mainly for compatibility with OpenEuphoria, x/u/U for 1/2/4 byte codes), eg: |
Hex string literals are also supported (mainly for compatibility with OpenEuphoria, x/u/U for 1/2/4 byte codes), eg: |
||
<lang Phix>?x"68 65 6c 6c 6f"; -- displays "hello"</lang> |
|||
<!--<lang Phix>--> |
|||
<span style="color: #0000FF;">?</span><span style="color: #000000;">x</span><span style="color: #008000;">"68 65 6c 6c 6f"</span><span style="color: #0000FF;">;</span> <span style="color: #000080;font-style:italic;">-- displays "hello"</span> |
|||
<!--</lang>--> |
|||
=={{header|PHP}}== |
=={{header|PHP}}== |