したいので無効化リストの印刷の小さな整数として文字列をGettext。
-
23-09-2019 - |
質問
は、Gimp用ドキュメシェルの"推測"から与えられたリストには印刷可能な文字列や版画にいかがでしょうが便利です。 この"利便性"を無効にする?
解決
あなたはアーランR16Bで始まるこの shell:strings/1
機能で、このような動作を無効にすることができます。
ただ、これは、すべてのノードの殻にグローバルオプションであり、そして演奏が長く生きているノードでシェルです終えた後に戻ってそれを設定するのが賢明かもしれないことを覚えています。
他のヒント
わからない場合は変更可能のデフォルトの動作は、シェルができる少なくとも形式の出力を正しく使用し、 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)" を表示します。
いいえ、それを無効にする方法はありません。最善の選択肢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でタイプではないということです。文字列は、整数のリストだけなので、シェルはジェネリックリストから印刷可能な文字列を区別するための方法はありません。わからない場合は、あなたの質問にこの答えます。