2016-05-12 9 views
2

Enum.reverse法に面しており、ここに私のコードです:は私が<a href="http://elixir-lang.org/docs/stable/elixir/Enum.html" rel="nofollow">enum</a>ドキュメントの上に探しています

defmodule Math do 
    def reverse(list), do: Enum.reverse(list) 
end 

そして、私はそれを実行します。

IO.write(Math.reverse([1,2,3,4,5,6,7,8]))

しかし、いくつかの奇妙な物事が起こっている。 these funny characters ..

私はエリクサーにとってはかなり新しいですが、どこでデバッグプロセスを開始するのか分かりません。どこが間違っていたのですか?ありがとう!

+0

ない@MakeWebSocketsGreatAgainが、この質問を見つけることが他人の利益のために:https://github.com/elixir-lang/elixir/wiki/FAQ(アイテム4) –

答えて

4

この問題はEnum.reverse/1機能には直接関係しません。あなたは、単にIO.write/1に整数のリストを渡すことで、まったく同じことを再現することができます:ここで何が起こっている

iex(5)> IO.write([8,7,6,5,4,3,2,1]) 
^H^G^F^E^D^C^B^A:ok 

IO.write/1が整数のリストを受信して​​いることであり、それは「文字一覧」として扱います。 'foo'のように、一重引用符を使用すると、charリストを作成できます。私はそれらの文字は、効果音や「スマイリーフェイス」を引き起こすのウィンドウで変なふうに解釈されることを推測

iex(22)> i('foo') 
Term 
    'foo' 
Data type 
    List 
Description 
    This is a list of integers that is printed as a sequence of characters 
    delimited by single quotes because all the integers in it represent valid 
    ASCII characters. Conventionally, such lists of integers are referred to as 
    "char lists" (more precisely, a char list is a list of Unicode codepoints, 
    and ASCII is a subset of Unicode). 
Raw representation 
    [102, 111, 111] 
Reference modules 
    List 

:を使用すると、私たちに多くの詳細を提供します。

EDIT:はじめにドキュメントも本当に便利です:http://elixir-lang.org/getting-started/binaries-strings-and-char-lists.html#utf-8-and-unicodeあなたの利益のために

+1

ええ、私は今、深い説明のおかげで見る! – MakeWebSocketsGreatAgain

関連する問題

 関連する問題