String prepend

From Rosetta Code
Revision as of 05:40, 9 October 2013 by Mmphosis (talk | contribs) (Applesoft BASIC)
Task
String prepend
You are encouraged to solve this task according to the task description, using any language you may know.

Basic Data Operation
This is a basic data operation. It represents a fundamental action on a basic data type.

You may see other such operations in the Basic Data Operations category, or:

Integer Operations
Arithmetic | Comparison

Boolean Operations
Bitwise | Logical

String Operations
Concatenation | Interpolation | Comparison | Matching

Memory Operations
Pointers & references | Addresses

Create a string variable equal to any text value. Prepend the string variable with another string literal. If your language supports any idiomatic ways to do this without referring to the variable twice in one expression, include such solutions.

To illustrate the operation, show the content of the variable.

ALGOL 68

Works with: ALGOL 68 version Revision 1.
Works with: ALGOL 68G version Any - tested with release algol68g-2.7.
Works with: ELLA ALGOL 68 version Any (with appropriate job cards).

File: String_prepend.a68<lang algol68>#!/usr/bin/a68g --script #

  1. -*- coding: utf-8 -*- #

STRING str := "12345678"; "0" +=: str; print(str)</lang>Output:

012345678

BBC BASIC

Works with: Applesoft BASIC

<lang BBC BASIC> S$=" World!"

     S$="Hello"+S$
     PRINT S$
     END</lang>
Output:
Hello World!

D

<lang d>import std.stdio;

void main() {

   string s = "world!";
   s = "Hello " ~ s; 
   writeln(s);

}</lang>

Output:
Hello world!

Java

<lang java>String s = "value"; System.out.println(s); s = "new " + s; System.out.println(s);

StringBuilder sb = new StringBuilder("value"); System.out.println(sb); sb.insert(0, "new "); System.out.println(sb);</lang> Output:

value
new value
value
new value

NetRexx

<lang NetRexx>s_ = 'world!' s_ = 'Hello, 's_ say s_</lang>

Output:
Hello, world!

Perl 6

<lang perl6># explicit concatentation $_ = 'byte'; $_ = 'kilo' ~ $_; .say;

  1. interpolation as concatenation

$_ = 'buck'; $_ = "mega$_"; .say;

  1. lvalue substr

$_ = 'bit'; substr-rw($_,0,0) = 'nano'; .say;

  1. regex substitution

$_ = 'fortnight'; s[^] = 'micro'; .say;

  1. reversed append assignment

$_ = 'cooper'; $_ [R~]= 'mini'; .say;</lang>

Output:
kilobyte
megabuck
nanobit
microfortnight
minicooper

Python

File: String_prepend.py<lang python>#!/usr/bin/env python

  1. -*- coding: utf-8 -*- #

str = "12345678"; str = "0" + str; # by concatination # print(str)</lang>Output:

012345678

REXX

<lang rexx>s='llo world!' s='he's Say s </lang> Output:

hello world!

Ruby

There is a method for prepending a string, aptly named "prepend". <lang ruby>str = "llo world" str.prepend("He") p str #=> "Hello world"</lang>

Tcl

Concatenation is a fundamental feature of Tcl's basic language syntax. <lang tcl>set s "llo world" set s "he$s" puts $s</lang>

Output:
hello world

Wart

<lang python>s <- "12345678" s <- ("0" + s)</lang>