얼랭의 Pid를 < 0.121.0>으로 변환하고 싶습니다. 어떻게해야합니까?얼랭 (Erlang) : 문자열을 pid로 변환
Pid와의 패턴 일치 방법이 있습니까? 이 같은
{Node, Index, Number} = <0.121.0>.
얼랭의 Pid를 < 0.121.0>으로 변환하고 싶습니다. 어떻게해야합니까?얼랭 (Erlang) : 문자열을 pid로 변환
Pid와의 패턴 일치 방법이 있습니까? 이 같은
{Node, Index, Number} = <0.121.0>.
pid_tokens(Pid) ->
PidStr = pid_to_list(Pid),
PidStr1 = lists:sublist(PidStr, 2, length(PidStr)-2),
[N, P1, P2] = [list_to_integer(T) || T <- string:tokens(PidStr1,[$.])],
{N, P1, P2}.
무언가가 당신을 위해 작동 할 수 있습니다. 어디 Pid는 당신이 일치하려는 프로세스 ID입니다
그래도 조심하십시오. '이 BIF는 Erlang 운영체제에서 디버깅과 사용을 목적으로합니다. 응용 프로그램에서는 사용해서는 안됩니다. " – tkowal
@tkowal 위험 요소는 무엇입니까? – BC00
경고없이 변경 될 수 있으므로 Pid 내부 구조 만 사용하면 안됩니다. 'pid_to_list'와'list_to_pid'는 쉘에서 pid를 복사하여 붙여 넣을 때 디버깅하는 동안 편리합니다. 프로세스가 원격 노드에있는 경우 실제 프로그램에서 유용 할 수있는 유일한 순간입니다. 그 또 다른 기능은'node (Pid)'입니다. – tkowal
노드 식별의 경우 [node/1] (http://erlang.org/doc/man/erlang.html#node-1)을 대신 사용하십시오. –
이유를 설명 할 수 있습니까? 잘못된 방식으로 뭔가를 해결하려고하는 것 같습니다. –