Tương tự như JavaScript, Blogger cũng có toán tử với những biểu thức cộng, trừ, nhân chia, so sánh hay logic.v.v..Bài này mình tổng hợp tất cả các loại toán tử được sử dụng trong Blogger
Blogger hỗ trợ các kiểu toán tử sau:
- Toán tử số học
- Toán tử so sánh
- Toán tử logic (hoặc quan hệ)
- Toán tử điều kiện
Bây giờ chúng ta xem xét từng toán tử một.
Toán tử số học
Các toán tử số học có thể tạo ra các phép toán giữa một vài con số. Kết quả trả về một giá trị số.
Bảng cú pháp
Tên | Kí hiệu | Cú pháp | Kết quả |
---|---|---|---|
Phép cộng | + | number + number | number |
Phép trừ | - | number - number | number |
Phép nhân | * | number * number | number |
Phép chia | / | number / number | number |
Phần trăm | % | number % number | number |
Đặc điểm
- Các phép toán số học luôn trả về một giá trị số.
- Toán hạng phép (+) phải là loại NUMBER.
- Một số trở nên âm khi dấu - được gán vào số đó.
- Một số có thể chứa tối đa 4 chữ số thập phân.
Ghi chú: Toán hạng cộng (+) làm việc với các chuỗi (STRING) cho ra một biểu thức lồng ghép các chuỗi với nhau.
Ví dụ minh họa
Tên | Cú pháp | Kết quả |
---|---|---|
Phép cộng | <b:eval expr='2 + 3'/> | 5 |
Phép trừ | <b:eval expr='5 - 3'/> | 2 |
Phép nhân | <b:eval expr='2 * 3'/> | 6 |
Phép chia | <b:eval expr='10 / 2'/> | 5 |
Phần trăm | <b:eval expr='2 % 5'/> | 0.1 |
Sử dụng biểu thức kết hợp
<b:eval expr='((10 + data:posts.length) * (2 + data:posts.length)) - 2'/>
Khi trích xuất HTML cho ra biểu thức nếu tổng số bài viết của thẻ dữ liệu bằng 20
((10 + 20) * (2 + 20)) - 2 = 658
Toán tử so sánh
Các toán tử so sánh dùng để xác định tính tương đương của hai giá trị, kết quả trả về giá trị (Boolean) TRUE hoặc FALSE.
Mình đã viết một bài riêng về loại toán tử so sánh này nên không viết ra đây nữa, các bạn truy cập liên kết bên dưới để tìm hiểu thêm
Sử dụng phép toán so sánh trong blogspot
Toán tử logic
Các toán tử logic Blogger so sánh các giá trị với nhau, kết quả trả về giá trị (Boolean) TRUE hoặc FALSE.
Bảng cú pháp
Tên | Kí hiệu | Giới hạn | Cú pháp | Kết quả |
---|---|---|---|---|
Và | && hoặc and | Không giới hạn | boolean && boolean boolean and boolean |
True hoặc False |
Hoặc | || hoặc or | Không giới hạn | boolean || boolean boolean or boolean |
True hoặc False |
Hoặc | ! hoặc not | 1 | !boolean not boolean |
True hoặc False |
Toán tử "and"
Toán tử "and" trả về một giá trị đúng (true) khi tất cả các toán hạng là true. Khi một trong các toán hạng trả về một giá trị sai (false), kết quả sẽ là false.
Cú pháp => Kết quả
true and true => true
false and false => false
not false and not false => true
true and false => false
false and true = > false
true and true and true => true
true and false and true => false
false and false and false => false
Toán tử "or"
Toán tử "or" trả về một giá trị đúng (true) khi một trong các toán hạng là true. Khi tất cả các toán hạng trả về giá trị sai (false), kết quả sẽ là false.
Cú pháp => kết quả
true or true => true
false or false => false
not false or not false => true
true or false => true
false or true => true
true or true or true => true
true or false or true => true
false or false or false => false
Toán tử "not"
Toán tử "not" đảo ngược giá trị của toán hạng. true trở thành false và ngược lại.
Cú pháp => kết quả
not true => false
not false => true
Toán tử nhị phân
Toán tử nhị phân là phương pháp khai thác sử dụng tương ứng ba và hai toán hạng . Kết quả là một lựa chọn từ 2 giá trị.
BỘ CHỌN TERNARY
Cú pháp
boolean ? allType : allType
Bộ chọn ternary là một toán tử chứa 3 toán hạng, toán hạng đầu tiên phải là boolean. 2 toán hạng cuối cùng có thể thuộc bất kỳ loại nào. Một trong 2 sẽ là kết quả cuối cùng của phép toán tùy thuộc vào kết quả của toán hạng đầu tiên.
boolean ? value if true : value if false
- Giá trị boolean có thể là:
- Một giá trị rõ ràng
- Một mốc thời gian
- Kết quả của một biểu thức Blogger (một hoạt động lồng nhau)
- Các giá trị khác có thể thuộc bất kỳ loại nào:
- Một giá trị rõ ràng
- Một mốc thời gian
- Kết quả của một biểu thức Blogger (một hoạt động lồng nhau)
- Hoạt động có thể được lồng trong một hoạt động khác chấp nhận một giá trị sẽ là loại kết quả cuối cùng của hoạt động. Nghĩa là, nếu bộ chọn ternary chọn một phản hồi có kiểu là số, thì thao tác cha phải chấp nhận giá trị kiểu NUMBER.
Một số ví dụ
<b:with value='data:blog.isPrivate ? "private" : "public"' var='status'>
<b:eval expr='"This blog is" + data:status'/>
</b:with>
Nếu tình trạng này là true kết quả của các hoạt động sẽ là chuỗi: private. Nếu không kết quả sẽ là chuỗi: public
<b:with value='data:blog.isPrivate ? 10 : 5' var='myNumber'>
<b:eval expr='data:myNumber'/>
</b:with>
Nếu tình trạng này là true kết quả của các hoạt động sẽ là số: 10. Nếu không kết quả sẽ là nhiều: 5
<b:loop values='data:view.isHomepage ? data:posts limit 5 : data:posts' var='post'>
</b:loop>
Nếu điều kiện là true(nếu trang hiện tại là nhà), bảng bài viết sẽ chứa tối đa 5 bài viết. Nếu không, kết quả sẽ là bảng hoàn chỉnh.
BỘ CHỌN NHỊ PHÂN
Cú pháp
allType ?: allType
Bộ chọn nhị phân là một toán tử chứa 2 toán hạng, 2 toán hạng có thể là bất kỳ loại nào, toán hạng đầu tiên sẽ là kết quả mặc định nếu giá trị không trống và toán hạng thứ hai sẽ là kết quả nếu giá trị của toán hạng thứ nhất không trống.
value 1 if not empty ?: Value 2 if value 1 is empty
- Các giá trị có thể thuộc bất kỳ loại nào:
- Một giá trị rõ ràng
- Một mốc thời gian
- Kết quả của một biểu thức Blogger (một hoạt động lồng nhau)
- Hoạt động có thể được lồng trong một hoạt động khác chấp nhận một giá trị sẽ là loại kết quả cuối cùng của hoạt động. Nghĩa là, nếu bộ chọn nhị phân chọn một phản hồi có loại là số, thì thao tác cha phải chấp nhận giá trị loại NUMBER.
Ví dụ
<b:eval expr='data:blog.pageName ?: data:blog.title'/>
Dữ liệu data:blog.pageName sẽ là kết quả nếu nó chứa một giá trị. Nếu không, data:blog.title sẽ là kết quả thay thế.