erlang 두 가지 매개 변수 모듈 화

5315 단어 erlang
매개 변수 모듈 화 된 두 가지 방식 만 기록 합 니 다.루트 자신의 이 해 는'표시'와'암시 적'두 가지 로 명명 되 었 다.
참고 문서
http://erlang-china.org/study/parameterized-module.html
http://mryufeng.iteye.com/blog/477376
http://www.iteye.com/topic/348379
1."표시"
 
다음 내용 은 yufeng 의 demo 에서 나 왔 습 니 다.
 
root@nd-desktop:~/test/m# cat main.erl 
% File: main.erl 
-module(main). 
-export([start/0]). 
start() -> 
M1 = print:new("Humpty"), 
M2 = print:new("Dumpty"), 
M1:message("Hello!"), 
M2:message("Hi!"), 
ok. 
root@nd-desktop:~/test/m# cat print.erl 
% File: print.erl 
-module(print, [Name]). 
-export([message/1]). 

message(Text) -> 
io:fwrite("~s: '~s'~n", [Name, Text]), 
ok. 

     
root@nd-desktop:~/test/m# erlc *.erl 
root@nd-desktop:~/test/m# erl -noshell -s main -s erlang halt 
Humpty: 'Hello!' 
Dumpty: 'Hi!' 

 
2.암시 적
  1 -module(main).
  2 -export([start/0]).
  3 start()->
  9      {print,"lang"}:message(),                                              
 10     ok.


  1 -module(print).
  2 %-module(print,[Name]).
  3 -export([message/1]).

  5 message(Text) ->
  6     io:format("Text=~p~n",[Text]),                        %%                                
  8     ok.

    
52> main:start().
Text={print,"lang"}
ok
53> 

 파도 가 일다 10:05:50
이 new 는 erlang 에서 자동 으로 생 성 되 는...
파도 가 일다 10:06:12
봐 봐 misultinws-module 성명 입 니 다.
파도 가 일다 10:07:37
erl
>m(misultin_뉴스).뉴 를 봤 어 요.
안 드 로 이 드 랑 철 10:08:44
-module(misultin_ws).        특별한 것 도 없고 요.
안 드 로 이 드 랑 철 10:09:43
원 리 를 말 해도 되 겠 습 니까?
파도 가 일다 10:10:11
당신 의 misultin 은 어떤 버 전 입 니까?아무런 원리 도 없다.이것 은 바로 서면 화 되 지 않 은 문법 이다.
안 드 로 이 드 랑 철 10:10:11
이것 은 내 가 m()로 본 것 이다.
        Exports: 
         get/2
         module_info/0
         module_info/1
         raw/1
         send/2
 
안 드 로 이 드 랑 철 10:10:37
 30 -module(misultin_ws).
 31 -vsn("0.8-dev").
 
 
안 드 로 이 드 랑 철 10:11:36
 -module(misultin).
 34 -behaviour(gen_server).
 35 -vsn("0.7.1").
 
안 드 로 이 드 랑 철 10:11:48
제 두 가지 버 전 입 니 다. 
뭐 공부 해요?
파도 가 일다 10:12:05
잠깐 만,내 가 본 0.6.
파도 가 일다 10:12:20
github 좀 볼 게 요.
안 드 로 이 드 랑 철 10:12:20
이 문법 은 어느 곳 에서 찾 을 수 있 습 니까?
안 드 로 이 드 랑 철 10:12:25
오케이.감사합니다.
 
파도 가 일다 10:12:54
mochiweb 에 도 이 용법 이 있 습 니 다.erlang maillist 에 설명 되 어 있 습 니 다.
안 드 로 이 드 랑 철 10:14:51
-module(misultin_ws, [Ws, SocketPid]).
-vsn("0.6.2").
저 버 전 입 니 다.
파도 가 일다 10:27:03
hi
파도 가 일다 10:27:17
코드 가 사용 되 지 않 았 습 니 다.-module(misultinws, [Ws, SocketPid]).
 
파도 가 일다 10:27:33
하지만 코드 는 매개 변수 화 모듈...
안 드 로 이 드 랑 철 10:29:11
있다
 나 에 게 이 문법 을 좀 말 해 줘,나 는 지금 담 을 넘 을 수 없어.
안 드 로 이 드 랑 철 10:31:05
감사합니다. 인터넷 에서 관련 자 료 를 찾 았 습 니 다.
 
파도 가 일다 10:31:16
-module(Modue,[P1,P2]).매개 변수 화 모듈 을 설명 합 니 다.
그리고 모듈:new(P1,P2)를 통 해 이 모듈 을 생 성 할 수 있 습 니 다.
 
이렇게 할 수도 있다.
-module(Module),매개 변 수 를 가리 키 지 않 습 니 다.
그러나 인터페이스의 정의 에 인 자 를 추가 합 니 다.예 를 들 어:
some_fun(P1, P2) -> ok.
이렇게 호출{Module,P1,P2}:somefun().
파도 가 일다 10:31:41
현재 misultin 은 두 번 째 방법 으로 비교 하 는 변태 이다.
안 드 로 이 드 랑 철 10:32:39
 
파도 가 일다 10:33:16
misultin 코드 를 봤 더 니 엉망 이 군.. 
안 드 로 이 드 랑 철 10:34:03
공감 하고 코드 가 거의 한 줄 로 내 려 왔어요.
파도 가 일다 10:34:21
네,읽 는 것 을 추천 하지 않 습 니 다.
파도 가 일다 10:34:44
안에 N 다 원 이 있다 는 소식!receive,실수 하기 쉬 워 요.
파도 가 일다 10:34:50
오리지널
안 드 로 이 드 랑 철 10:35:35
은혜. 이 걸 로 테스트 서버 를 만들어 서 웹 소켓 을 하고 싶 어 요.
안 드 로 이 드 랑 철 10:35:49
매개 변수 화 된 모듈 은 어떤 장점 이 있 습 니까?
파도 가 일다 10:37:06
좋 은 점 은 모든 함수 가 그 인 자 를 쓰 지 않 아 도 된다 는 것 이다.
파도 가 일다 10:37:16
mochiweb 를 보 세 요.그 모듈 을 요청 합 니 다.
파도 가 일다 10:37:52
받 은 http 요청 을 분석 한 후 하나의 매개 변수 로 mochiweb 에 전달 할 수 있 습 니 다.req 모듈
안 드 로 이 드 랑 철 10:37:52
좋다 
파도 가 일다 10:38:36
이렇게 하면 저 는 Req'대상'을 얻 을 수 있 습 니 다.저 는 Req:header(),Req:peer()와 같은 인 터 페 이 스 를 통 해 http 에서 요청 한 정 보 를 얻 을 수 있 습 니 다.
파도 가 일다 10:38:47
약간 상 대 를 향 한 느낌.
안 드 로 이 드 랑 철 10:38:57
네,전달 대상 인 것 같 아 요.
파도 가 일다 10:39:40
네,그렇습니다.문법 사탕
안 드 로 이 드 랑 철 10:39:59
오케이. 어떻게 된 일 인지 알 겠 다 
파도 가 일다 10:40:00
하나의 데이터 가 모듈 의 내부 구성원 이 된 것 같다.
파도 가 일다 10:40:03
그래.
안 드 로 이 드 랑 철 10:40:29
감사합니다. 바 쁘 시 죠? 
파도 가 일다 10:41:27
k :)
입 도 형님 의 설명 에 감 사 드 립 니 다.
 근처
 

좋은 웹페이지 즐겨찾기