Ví dụ đầu tiên

Hãy bắt đầu với một ví dụ đơn giản. Tôi lấy ước để viết tiểu bang với thủ đô, nhưng bất cứ điều gì có giá trị với cú pháp Python sẽ làm việc tốt.

class HelloWorld(Automaton):
    @ATMT.state(initial=1)
    def BEGIN(self):
        print "State=BEGIN"

    @ATMT.condition(BEGIN)
    def wait_for_nothing(self):
        print "Wait for nothing..."
        raise self.END()

    @ATMT.action(wait_for_nothing)
    def on_nothing(self):
        print "Action on 'nothing' condition"

    @ATMT.state(final=1)
    def END(self):
        print "State=END"

Trong ví dụ này, chúng ta có thể nhìn thấy 3 trang trí:

ATMT.state được sử dụng để chỉ ra rằng một phương pháp là một nhà nước, và có thể có đối số tùy chọn ban đầu, cuối cùng và lỗi thiết lập khác không cho các nước đặc biệt.
ATMT.condition mà chỉ ra một phương pháp để được chạy khi các nhà máy tự động đạt đến trạng thái chỉ ra. Các đối số là tên của phương pháp đại diện cho nhà nước mà
ATMT.action gắn bó với một phương pháp để quá trình chuyển đổi và được chạy khi quá trình chuyển đổi được thực hiện.
Chạy ví dụ này sẽ cho kết quả như sau:

>>> a=HelloWorld()
>>> a.run()
State=BEGIN
Wait for nothing...
Action on 'nothing' condition
State=END

máy tự động đơn giản này có thể được mô tả bằng đồ thị dưới đây:
Các đồ thị có thể được tự động rút ra từ mã với:

>>> HelloWorld.graph()

Comments

Popular posts from this blog

Thiết lập card không dây trên Kali Linux

Monitor mode

Giới thiệu - Scapy