[erlang-questions] String continuation

Mazen Harake <>
Thu Jan 13 23:23:34 CET 2011


I think you are confusing the two. Writing two strings without anything 
in between is a literal and not a statement of concatenation of both. 
This means that:

f() -> "Hello" "World".

is the same as...

f() -> "HelloWorld".

and not

f() -> "Hello" ++ "World".


/Mazen

On 13/01/2011 18:40, Attila Rajmund Nohl wrote:
> Hello!
>
> Let's have a look at this little example code:
>
> -module('strc').
>
> -export([f/0]).
>
> f() ->
>      {["string1",
>        "string2"],
>       ["string3"
>        "string4"]}.
>
> This compiles fine and returns a tuple with two lists, the first with
> 2 strings, the second with a single list. Of course, if there was only
> a typo in the second list (a missed comma), I wouldn't notice it until
> the code executes (which might happen in an inconvenient time in error
> handling code). I wonder that the possibility to omit the extra ++
> from the end of "string3" line worth the problems what might be caused
> by the missing comma. This only bit me once, so it might not be that
> common...
>
> ________________________________________________________________
> erlang-questions (at) erlang.org mailing list.
> See http://www.erlang.org/faq.html
> To unsubscribe; mailto:
>



More information about the erlang-questions mailing list