Extension:Variables/vi

From MediaWiki.org
Jump to: navigation, search
Ngôn ngữ: English  • Deutsch • Tiếng Việt
MediaWiki extensions manual - list
Crystal Clear action run.png
Variables

Release status: stable

Implementation Parser function
Description Introduces parser functions for dealing with page-scoped variables.
Author(s) 'Rob Adams', 'Tom Hempel', 'Xiloynaha', 'Daniel Werner'
Last version 2.0 (2011-11-16)
MediaWiki 1.12+ (Für ältere Pre MW 1.12 Unterseite)
License Public domain
Download Download snapshot
Subversion [Help]

Browse source code
View code changes

README
RELEASE-NOTES

Variables là một phần mở rộng rất đơn giản cho phép bạn định nghĩa một biến trong một trang viết, sử dụng nó sau vẫn trong trang đó, thay đổi giá trị của nó chẳng hạn, một giá trị trả về từ một biểu thức.

Nó rất giống một tiêu bản, có điều rất nhẹ và chỉ tồn tại trong một trang đơn lẻ, vì thế bạn có thể dùng rất nhiều biến trong một trang mà không lo làm ngập lụt wiki với số lượng khổng lồ các tiêu bản. Ngoài ra biến cũng có thể được sử dụng để đánh dấu trạng thái của một phần nào đó trong trang. Kết hợp với các hàm phân tích cú pháp để đạt kết quả cao nhất.

Phần mở rộng đơn giản "chết người" ;-) này được viết bởi Rob Adams, sau đó được phát hành trong phạm vi công cộng và được nhập khẩu vào MediaWiki phiên bản 1.8 bởi Hempel, phiên bản 1.10 bởi Rob Adams.

Chú ý: Các ví dụ sau đã được Việt hoá, để chạy thành công, xin hãy sử dụng đoạn mã Việt hoá như hướng dẫn ở đây hoặc xem trang tiếng Anh


NOTE: See Extension:Variables for an updated documentation in English language.

Contents

[edit] Gán giá trị cho biến

{{#gán:tên biến|giá trị}}

Gán một giá trị giá trị cho biến tên biến (đã tồn tại hoặc định nghĩa mới).

[edit] Lấy giá trị của một biến

Giá trị của biến tên biến được trả về bằng lệnh:

{{#biến:tên biến}}

Nếu chưa được định nghĩa, nó trả về một xâu rỗng mà không báo lỗi.

[edit] Ví dụ

Lưu ý rằng phần mở rộng ParserFunctions cũng cần thiết để sử dụng #expr

Tính 2*a + b:

{{#expr:2*{{#biến:a}}+{{#biến:b}}}}

Cộng 1 vào n:

{{#gán:n|{{#expr:{{#biến:n}}+1}}}}

[edit] Biến và các hàm điều kiện

[edit] ParserFunctions

Cần chú ý rằng mọi thứ trong các hàm điều kiện như #ifexpr đều được thực hiện (mặc dù chỉ một kết quả được trả về), bất chấp mọi điều kiện, xem m:ParserFunctions#Code_execution. Điều này cũng áp dụng với #gán. Thế nên:

{{#ifexpr:..|
    {{#gán:a|b}}|
    {{#gán:a|c}}
}}

trước tiên gán vào a giá trị 'b', sau đó là 'c' (kết quả là a chứa 'c'), bất kể điều kiện, trong khi

{{#gán:a | {{#ifexpr:..|b|c}} }}

chỉ gán giá trị phù hợp.

Tương tự,

{{#ifexpr:..| {{#gán:a|b}}|}}

gán 'b' bất kể điều kiện, trong khi

{{#gán:a | {{#ifexpr:..|b|{{#biến:a}} }} }}

gán giá trị 'b' tuỳ theo điều kiện (nếu điều kiện '...' không thoả mãn thì gán lại chính giá trị của a).

[edit] Control Structure Functions

Một cách khác để tránh hạn chế vừa đề cập là sử dụng phần mở rộng Control Structure Functions, cho phép trì hoãn sự phân tích cú pháp wiki thông qua việc sử dụng character escape sequences. Như vậy ví dụ đầu tiên ở trên trở thành::

{{#ifexpr:..|
    \o#gán:a\pb\c|
    \o#gán:a\pc\c
}}

Một cách khác, phần mở rộng Character Escapes có thể được sử dụng để tự động hoá chuỗi thoát:

{{#ifexpr:..|
    <esc>{{#gán:a|b}}</esc>|
    <esc>{{#gán:a|c}}</esc>
}}

Control Structure Functions cũng cho phép vòng lặp hỗ trợ chuỗi thoát. Mã lệnh là:

{{ #gán: i | 0 }}{{
  #while: expr
  | <esc>{{ #biến: i }} < 3</esc>
  | <esc>
* {{ #biến: i }}{{ #gán: i | {{ #expr: {{ #biến: i }} + 1 }} }}</esc>
}}

cho kết quả:

  • 0
  • 1
  • 2

[edit] Đọc thêm

Ngôn ngữ: English  • Tiếng Việt
Personal tools
Namespaces
Variants
Actions
Site
Support
Download
Development
Communication
Print/export
Toolbox