Copy a string: Difference between revisions

add string copy for BLC
mNo edit summary
imported>Tromp
(add string copy for BLC)
(4 intermediate revisions by 4 users not shown)
Line 636:
?(^same$+5) = ?(^source$+5)
PRINT same$</syntaxhighlight>
 
=={{header|Binary Lambda Calculus}}==
 
In BLC, every value is immutable, including byte-strings. So one never needs to copy them; references are shared.
 
=={{header|BQN}}==
Line 822 ⟶ 826:
=={{header|COBOL}}==
{{trans|C#}}
<syntaxhighlight lang="cobolcobolfree">MOVE "Hello" TO src
MOVE src TO dst</syntaxhighlight>
 
Line 980 ⟶ 984:
=={{header|EasyLang}}==
 
<syntaxhighlight lang="text">a$ = "hello"
a$ = "hello"
b$ = a$</syntaxhighlight>
b$ = a$
print b$
b$ = a$</syntaxhighlight>
 
=={{header|EchoLisp}}==
Line 1,960 ⟶ 1,967:
 
=={{header|Pascal}}==
''See also: [[#Delphi|Delphi]]''
 
<syntaxhighlight lang="pascal" highlight="9,13,15">program in,outcopyAString;
var
 
{ The Extended Pascal `string` schema data type
type
is essentially a `packed array[1..capacity] of char`. }
source, destination: string(80);
pString = ^string;
begin
 
source := 'Hello world!';
var
{ In Pascal _whole_ array data type values can be copied by assignment. }
 
destination := source;
s1,s2 : string ;
{ Provided `source` is a _non-empty_ string value
pStr : pString ;
you can copy in Extended Pascal sub-ranges _of_ _string_ types, too.
 
Note, the sub-range notation is not permitted for a `bindable` data type. }
begin
destination := source[1..length(source)];
 
{ You can also employ Extended Pascal’s `writeStr` routine: }
/* direct copy */
writeStr(destination, source);
s1 := 'Now is the time for all good men to come to the aid of their party.'
end;.</syntaxhighlight>
s2 := s1 ;
 
writeln(s1);
writeln(s2);
 
/* By Reference */
pStr := @s1 ;
writeln(pStr^);
 
pStr := @s2 ;
writeln(pStr^);
 
end;</syntaxhighlight>
 
=={{header|Perl}}==
Line 2,634 ⟶ 2,629:
 
Although technically a reference type, this means there is no need to distinguish between copying the contents of a string and making an additional reference. We can therefore just use assignment to copy a string.
<syntaxhighlight lang="ecmascriptwren">var s = "wren"
var t = s
System.print("Are 's' and 't' equal? %(s == t)")</syntaxhighlight>
Anonymous user