Marlowe trong Blockly
Last updated
Last updated
Trong các hướng dẫn này, chúng tôi đã tập trung vào việc xây dựng các hợp đồng trong phiên bản văn bản của Marlowe, được nhúng trong Haskell, các hợp đồng Marlowe cũng có thể được tạo bằng cách sử dụng môi trường lập trình trực quan Blockly, như chúng tôi mô tả ở đây.
Để bắt đầu xây dựng một dự án Blockly trong Sân chơi Marlowe, bạn có thể tìm hiểu thêm trong phần về tổng quan về sân chơi . Trên màn hình chính
chọn Start in Blockly. Bây giờ bạn sẽ thấy một màn hình như thế này:
Các hợp đồng được tạo bằng cách thêm các thành phần vào các lỗ trong các khối. Để xây dựng một hợp đồng, chúng ta phải điền vào lỗ đơn, cấp cao nhất, ở đây trong khối HỢP ĐỒNG bằng Contract
: bạn có thể thấy rằng nó được điền bằng a Close
ở đây.
Các khối được chọn bằng cách nhấp chuột vào chúng: các khối hiện được chọn được viền màu vàng, như sau:
Khi một khối hoặc các khối được chọn, bạn có thể di chuyển chúng trực tiếp; cắt, sao chép và xóa chúng bằng cách sử dụng các phím tắt thông thường của hệ điều hành của bạn; và truy cập các thao tác khác bằng cách nhấp chuột phải vào chúng.
Giả sử rằng bạn loại bỏ khối Close
và bạn muốn xây dựng một hợp đồng khác. Các mẫu khối cho hợp đồng được tìm thấy bằng cách nhấp vào Hợp đồng trong menu ở phía bên trái. Thực hiện điều này hiển thị tất cả các khối khác nhau tạo hợp đồng, như được hiển thị ở đây:
Chúng ta có thể chọn một cái và kéo nó vào khu vực chỉnh sửa, nơi có nền dạng chấm, như sau:
Nhìn vào menu bên tay trái, bạn có thể thấy hai mục nhập mới bên dưới mục gốc: chúng cho bạn biết loại khối nào bạn cần để lắp vào mỗi lỗ trong khối hiện đang được chọn (đó là khối được viền màu vàng) .
Trong ví dụ ở đây, bạn có thể thấy rằng lỗ phía trên yêu cầu một khối case trong khi lỗ phía dưới cần được lấp đầy bởi một hợp đồng khác .
Hãy lắp hợp đồng vào lỗ cấp cao nhất, để chúng ta đang xây dựng hợp đồng với When
cấu trúc chính của nó.
Sau đó, chúng ta có thể lặp lại quá trình này, thêm hợp đồng và các loại thành phần khác - tất cả đều được hiển thị trong menu ở phía bên trái - để xây dựng một hợp đồng hoàn chỉnh, đó là một hợp đồng không có lỗ hổng.
Hãy điền thông tin thời gian chờ và thêm Close
hợp đồng sẽ được thực hiện trong trường hợp hết thời gian:
Chúng ta nên chọn hành động nào bây giờ? Một lần nữa, chúng tôi thấy tất cả các hành động có thể xảy ra bằng cách chọn trường hợp (case) hoặc Tác vụ (Actions) trong menu:
Nếu chúng ta chọn một hành động Deposit
, chúng ta có một số loại lỗ khác nhau cần lấp đầy.
Ở đây chúng ta phải chọn
Một from_party cho người gửi tiền,
Giá trị , là số tiền được gửi…
… Bằng đơn vị tiền tệ nào hoặc mã thông báo (thường là ada)
Vào tài khoản nào, do một bên cung cấp, là tài khoản hoặc khóa công khai.
Hợp đồng tiếp tục .
Để điền vào một số trong số này, chúng tôi cũng phải điền vào trường văn bản, hoặc một số, như được hiển thị trong kết quả cuối cùng ở đây.
Cuối cùng, chúng ta phải quyết định hợp đồng tiếp tục là gì: hợp đồng làm gì tiếp theo? Đó là một hợp đồng khác. Đến đây nó được hoàn thành như một khoản thanh toán:
Trong Blockly, hãy tự mình hoàn thành việc xây dựng hợp đồng ở trên.
Hợp đồng ví dụ có tác dụng gì? Cụ thể các khoản thanh toán theo hợp đồng là gì?
Các hợp đồng khối có thể được thao tác và chỉnh sửa bằng cử chỉ trực quan và các phím tắt.
Các khối có thể được kéo từ các lỗ, cũng như được chèn vào.
Có sẵn một menu nhấp chuột phải , như trong hình trên, cung cấp một loạt các tùy chọn.
Các đường tắt chỉnh sửa điển hình thường hoạt động, ví dụ như DEL, ⌘C, ⌘V và ⌘X trên Mac OS.