ProgramingTip

정수를 Erlang의 노드로 변환

bestdevel 2020. 12. 26. 16:00
반응형

정수를 Erlang의 노드로 변환


어떤 대가를 치르해야하는지 ...

하지만 그렇게하지 않게 생성 5에서 "5"를 생성합니까?

특히 스트림에 인쇄하는 대신 형식화 된 문자열을 반환하는 io : format ( "~ p", [5]) 같은 것이 있습니까?


다음은 아마도 가장 좋은 방법은 작동합니다.

1> lists:flatten(io_lib:format("~p", [35365])).
"35365"

편집 : 다음 기능이 유용하다는 것을 발견했습니다.

%% string_format/2
%% Like io:format except it returns the evaluated string rather than write
%% it to standard output.
%% Parameters:
%%   1. format string similar to that used by io:format.
%%   2. list of values to supply to format string.
%% Returns:
%%   Formatted string.
string_format(Pattern, Values) ->
    lists:flatten(io_lib:format(Pattern, Values)).

EDIT 2 (댓글에 대한 응답으로) : 위의 기능은 Erlang을 위해 얼마 동안에 작은 프로그램에서 나입니다. 나는 향상된 포맷 기능을 찾고의 행동을 발견 io_lib:format/2erl직관, 예를 들어 :

1> io_lib:format("2 + 2 = ~p", [2+2]).
[50,32,43,32,50,32,61,32,"4"]

저는 @archaelus가 참조한 출력 장치의 '자동 병합'동작을 인식하지 않기 때문에 위의 동작이 제가 원하는 것이 아니라 결론을 내 렸습니다.

오늘 저녁, 나는이 프로그램으로 돌아가 string_format함수 호출을 io_lib:format. 이로 인해 문제는 유일한 문제는 실패한 몇 가지 EUnit 테스트 실패했습니다. 쉽게 쉽게 고쳐.

이 기능을 사용하면 정수를 사용하는 것이 정수로 변환하는 것이 과도 @gleber 및 @womble에 동의합니다. 그게 전부라면 integer_to_list/1. 키스!


또한 integer_to_list/1추악함없이 원하는 것을 정확히 수행합니다.


은 목록입니다.

9> integer_to_list(123).  
"123"

여담 혹시 수레의 표현을 처리하는 경우로서 당신은 봐야 할 작업 밥 폴리 토가에서 수행하고 mochinum .


목록 : concat ([숫자]). 또한 작동합니다.

참조 URL : https://stackoverflow.com/questions/588003/convert-an-integer-to-a-string-in-erlang

반응형