したいので無効化リストの印刷の小さな整数として文字列をGettext。

StackOverflow https://stackoverflow.com/questions/2348087

  •  23-09-2019
  •  | 
  •  

他のヒント

わからない場合は変更可能のデフォルトの動作は、シェルができる少なくとも形式の出力を正しく使用し、 io:フォーマット.

以下に例を示します。

1> io:format("~p~n", [[65, 66, 67]]).
"ABC"
ok
2> io:format("~w~n", [[65, 66, 67]]).
[65,66,67]
ok

そのシェルで実験-メンテナンス、 io:format() が、少なくとも十分なおリます。かることも検討していくべき書き独自の形式/印刷方法など formatPerson() ダイナミックレンジの広いる形式であります。

私は貝に私のリストに原子を付加することでそれを行う傾向があります。

例えば、

Eshell V5.7.4  (abort with ^G)
1> [65,66,67].
"ABC"
2> [a|[65,66,67]].
[a,65,66,67]

はまた、もちろん、[65,66,67]とすることができます。しかし、[| fun_that_returns_a_list()] "ほとんどの時間を、正しいこと(ISH)" を表示します。

としての完R16B, 利用できる機能 シェル:弦/1 ることができます。りますのでご了承にも影響印刷物が実際に意味する文字列など "foo" 以下の例:

1> {[8,9,10], "foo"}.
{"\b\t\n","foo"}
2> shell:strings(false).
true
3> {[8,9,10], "foo"}.   
{[8,9,10],[102,111,111]}

いいえ、それを無効にする方法はありません。最善の選択肢Iの発見は、明示的に(io:formatで)クエリで値をプリントアウトまたは事実の後に行うことです。io:format("~w\n", [v(-1)])

私はあなたがそれを防ぐことができるとは思いません。 それはあなたの元の文字列を変更します。

- 原子を付加することはその場しのぎのように思えます。 それを文字列に強制的にフラット化(文字列) - io_libの特に戻り値:

私は通常、リストを使用する形式()は常に文字列として印刷されません。リストを使用して:それは1

それを作る上)(平ら

私は、以下の "C-スタイル" を使用します:

sprintf(Format) ->
     sprintf(Format, []).
sprintf(Format, Args) ->
    lists:flatten(io_lib:format(Format, Args)).

問題は、文字列は、Erlangでタイプではないということです。文字列は、整数のリストだけなので、シェルはジェネリックリストから印刷可能な文字列を区別するための方法はありません。わからない場合は、あなたの質問にこの答えます。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top