2009-01-05 25 views
5

Tôi đang phát với distributed programming tutorial từ tài liệu 5.4 và đã gặp sự cố với tên nút.Các nút đặt tên trong Erlang

tên mặc định của tôi MacBook của (jamess-macbook) không chơi tốt với sơ đồ nút đặt tên Erlang của, do dấu gạch ngang:

([email protected])4> {my_process, [email protected]} ! start 
** exception error: bad argument in an arithmetic expression 
    in operator -/2 
     called as [email protected] - macbook 

tôi chắc chắn rằng có một cách dễ dàng để làm được việc này, viết tắt của đổi tên tất cả các máy tôi muốn chạy Erlang, nhưng tôi không thể nhìn thấy nó trong tài liệu.

Mọi đề xuất?

Trả lời

12

Bạn chỉ cần báo giá nguyên tử chính xác. '[email protected]' (với dấu nháy đơn) là tên của nút.

Một nguyên tử nên được kèm theo trong đơn dấu ngoặc kép (') nếu nó không bắt đầu bằng một lá thư -chữ thường hoặc nếu nó có chứa nhân vật khác hơn chữ ký tự, dấu gạch dưới (_), hoặc @. - Erlang Reference Manual

Sử dụng tên nút ngắn (-sname) có hậu quả khác nhau (khả năng tương tác hạn chế với nút dài nút tên, không tải thông tin dns vào inet_db và vân vân).

+0

Thậm chí tốt hơn - tôi đã thử báo giá gấp đôi, không phải duy nhất; trên thực tế, tôi đã không nhận ra chúng khác nhau về mặt ngữ nghĩa! –

4

Khởi động phiên dịch Erlang với:

$ erl -sname node_name 

nơi node_name là tên mà bạn muốn sử dụng để tham khảo máy.

Bạn thậm chí có thể mô phỏng hệ thống phân tán trên một máy đơn lẻ bằng cách bắt đầu một số phiên bản của trình thông dịch, mỗi phiên bản có tên nút khác nhau.

+1

Ah, tôi không biết bạn có thể cung cấp tên nút đầy đủ (tên @ máy) thông qua chế độ ngáy! –

Các vấn đề liên quan