Comma quibbling: Difference between revisions
Content added Content deleted
(Added Uiua solution) |
(→{{header|Commodore BASIC}}: Add implementation) |
||
Line 1,318: | Line 1,318: | ||
{ABC and DEF} |
{ABC and DEF} |
||
{ABC, DEF, G and H}</pre> |
{ABC, DEF, G and H}</pre> |
||
=={{header|Commodore BASIC}}== |
|||
The Commodore character set has no curly braces, so I substituted square brackets. The solution could no doubt be improved, but some of the elegance of other solutions is not possible simply because a FOR loop always executes at least once, even if its parameters would seem to indicate that it should not. |
|||
<syntaxhighlight lang="basic">100 DIM A$(3) |
|||
110 FOR TC=1 TO 4 |
|||
120 : READ A: IF A=0 THEN 160 |
|||
130 : FOR I=0 TO A-1 |
|||
140 : READ A$(I) |
|||
150 : NEXT I |
|||
160 : GOSUB 200 |
|||
170 : PRINT CQ$ |
|||
180 NEXT TC |
|||
190 END |
|||
200 CQ$="[" |
|||
210 IF A < 1 THEN 290 |
|||
220 CQ$ = CQ$ + A$(0) |
|||
230 IF A < 2 THEN 290 |
|||
240 IF A < 3 THEN 280 |
|||
250 FOR I=1 TO A - 2 |
|||
260 : CQ$ = CQ$ + ", " + A$(I) |
|||
270 NEXT I |
|||
280 CQ$ = CQ$ + " AND " + A$(A - 1) |
|||
290 CQ$ = CQ$ + "]" |
|||
300 RETURN |
|||
310 DATA 0 |
|||
320 DATA 1, ABC |
|||
330 DATA 2, ABC, DEF |
|||
340 DATA 4, ABC, DEF, G, H |
|||
</syntaxhighlight> |
|||
{{out}} |
|||
<pre>[] |
|||
[ABC] |
|||
[ABC AND DEF] |
|||
[ABC, DEF, G AND H]</pre> |
|||
=={{header|Common Lisp}}== |
=={{header|Common Lisp}}== |