Biến
Biến được sử dụng để lưu trữ giá trị và bạn có thể truy cập giá trị này trong suốt luồng công việc. Khi lưu giá trị cho một biến bạn chỉ cần ghi tên biến mà bạn muốn nhận giá trị đó.
Tên biến
Bạn có thể đặt tên biến thành bất cứ thứ gì bạn muốn. Nhưng để truy cập biến dễ dàng hơn, không sử dụng dấu cách, ký tự như (@) và ngoặc vuông ([]) trong tên biến.
Chuyển kiểu dữ liệu của biến thành mảng
Thông thường, mỗi khi biến nhận giá trị mới thì nó sẽ bỏ giá trị hiện tại và nhận giá trị mới vào.
Ví dụ khi thêm giá trị vào biến một cách bình thường
Chẳng hạn ở đây mình sẽ chèn giá trị 1
vào biến có tên num
thì hãy cấu hình node Chèn dữ liệu
như sau
Sau khi chạy node này, mình sẽ thấy biến num
nhận giá trị 1
Nếu muốn thêm một giá trị 2
thay thế giá trị 1
thì cấu hình như sau
Tuy nhiên một số trường hợp mình muốn nó có thể nhận được nhiều giá trị, khi đó mình cần biến cấu trúc của biến sang dạng mảng. Mình cần sử dụng tiền tố $push:
trước tên biến, Automation sẽ thay đổi cấu trức dữ liệu của biến từ chỉ nhận duy nhất giá trị được nhận vào thành một mảng nhận nhiều dữ liệu được nhập vào. Nếu biến đã có giá trị, giá trị đó sẽ trở thành phần tử đầu tiên của mảng và giá trị sau sẽ được thêm ở vị trí thứ 2. Và khi bạn gán giá trị cho biến, thay vì thay thế giá trị biến, Automation sẽ đẩy giá trị đó vào biến ở vị trí sau giá trị trước đó.
Ví dụ khi thêm giá trị vào một biến và biến nó thành cấu trúc dạng mảng
Thông thường mình sẽ chèn biến bình thường như sau:
Sau đó, mình lại muốn biến num
có cấu trúc dạng mảng và chèn một giá trị vào mảng thì cấu hình node như sau
Khi đó biến num
sẽ hiển thị như sau
Truy cập biến
Thông thường bạn có thể truy cập giá trị của biến được tạo ra trong khi chạy một quy trình bất kỳ bằng biểu thức {{variables.ten_bien}}
Ví dụ khi ghi ra giá trị của một biến được tạo trong quy trình
Đầu tiên mở một link bằng node Mở liên kết
, tiếp theo dùng node Lấy Url Tab
để lấy đường link của tab hiện tại và chèn vào biến url
, sau đó dùng node Nhấn Phím
để ghi ra giá trị biến url
với biểu thức :{{variables.url}}
Nhưng trong một số trường hợp, mình đã chuyển đổi cấu trúc biến sang dạng mảng thì biểu thức lấy giá trị sẽ cần thêm vị trí của phần tử đó. Công thức chung sẽ là: {{variables.ten_bien.stt}}
với stt
là số thứ tự giá trị đó trong mảng, muốn lấy giá trị đầu tiên thì stt sẽ thay bằng 0
, giá trị thứ 2 stt sẽ bằng 1
Ví dụ khi ghi ra giá trị của một biến dạng mảng được tạo trong quy trình
Đầu tiên mình sẽ chèn giá trị văn bản bien1
và bien2
vào biến texts
và thêm $push:
vào trước tên biến trong node Chèn dữ liệu
Sau đó chạy quy trình với node Chèn dữ liệu
. Mình sẽ thấy giá trị bien1
và bien2
đã được chèn vào biến texts
và kiểu dữ liệu của biến texts
đã chuyển thành dạng mảng với key
là texts
và value
là một mảng chứa giá trị bien1
và bien2
Trường hợp mình cần lấy giá trị bien1
thì mình cần xác định được giá trị đó nằm ở vị nào trong mảng, theo như trong ảnh trên, mình có thể xác định được giá trị đó nằm ở vị trí đầu tiên của mảng, khi đó biểu thức lấy giá trị đó sẽ là {{variables.texts.0}}
. Mình sẽ ghi biểu thức đó trong node Ghi Log
Khi chạy quy trình kết quả mình nhận được sẽ như sau
Tương tự nếu muốn lấy giá trị bien2
thì biểu thức sẽ là {{variables.texts.1}}
Lưu ý
Bạn không cần phải tạo biến trước rồi mới được sử dụng, sau hành động chèn một dữ liệu vào biến, biến đó sẽ được tạo và có thể sử dụng trong quy trình mà không cần khai báo trước đó