Plezuro/入門
Plezuro 程式語言的主要原則之一是:“模組、函式和原始檔是等價的”。 這到底意味著什麼? 您可以像傳遞給函式一樣傳遞引數給模組,並且模組也像函式一樣返回值。
在開始之前:如何在 Plezuro 中編寫 Hello World 指令碼? 它很簡單
'Hello World!'
當然,語言的設計甚至可以更簡單
Hello World!
但這更像是標記語言(最終是模板語言),而不是程式語言。 所以前面的指令碼是不正確的。 此外,還存在其他編寫 Hello World 指令碼的可能性,例如
'Hello World!'.printl;
在第一個指令碼中,模組只是返回一個值(字串 'Hello World!'),而在最後一個指令碼中,它將此字串列印到標準輸出,最後返回空值(稱為 'empty',其符號:'()')。
為簡單起見,註釋採用 c++/Java/c# 風格。 因此,它可以註釋掉大量程式碼,這與 python 或 ruby 等語言形成對比(當然,您可以在兩種情況下都使用多行字串,但在許多情況下,它會輸出錯誤)。
// this is a comment
/*
Another comment
*/
像任何(包括非常奇怪的,幾乎任何)語言一樣,Plezuro 基於使用變數。 我敢肯定您已經知道什麼是變量了(如果沒有,它只是一個資訊容器)。 因此,在變數首次出現時,您應該在變數名前面立即寫下美元符號 ('$')。 名稱採用 Java 風格(它允許使用任何 Unicode 字母、數字和下劃線,但開頭不能有字母)。 在接下來的出現中,美元符號是不需要的。 我們為什麼要寫那麼多 '$'? 這看起來像 PHP、Perl 或 bash。 原因很簡單。 僅僅是為了定義變數範圍。 它就像 Javascript 中的 'var' 關鍵字(或在 c♯ 中,如果使用的是區域性變數),但在 Plezuro 中,它只是簡寫(一個字元 '$' 而不是四個字元 'var')。 對於簡短的匿名函式和字串中編寫的程式碼的評估來說,這是一個非常重要的功能。 讓我們寫一個奇怪的例子
$假借字=4;
假借字+假借字^2
現在,也許不那麼奇怪了
$x=4;
x+x^2
與其他程式語言不同,其他程式語言在函式中只有一系列指令,Plezuro 基於運算子。 命令用分號 (';') 分隔,但這只是多個運算子之一。 即使在中間程式碼中,變數賦值和函式呼叫也轉換為運算子。 只有括號 ('(', ')') 和大括號 ('{', '}') 不會轉換為運算子。 它們有什麼用? 因此,括號用於更改運算子計算的順序,而大括號用於寫下將來應該執行(或最終永遠不會執行)的程式碼。 這意味著大括號用於編寫函式定義、條件迴圈或條件表示式(在這些情況下,我們也有一些函式 - 匿名函式)。
2*(3+4)^5.4
$x = 5;
{2<3}.if{x++}.else{x--};
x
雙引數運算子
- ;
- :=
- =
- ,
- <->
- <<
- >>
- ?
- |
- &
- <=>
- >=
- >
- <=
- <
- !=
- ==
- ===
- =~
- -
- %
- *
- /
- ^
- 一起
* ^^
* .
- ..
- :
單引數運算子:(但是這裡並不重要,重要的是列表。
- !
- &&
- **
- #
- --
- --
- @
此外,您應該記住以下內容
- 空格字元不包含在中間程式碼中(這意味著您可以在令牌(數字/字串/名稱/運算子...)之間寫任意數量的空格、製表符和換行符,當然您不能在變數名稱或運算子中間寫空格)。
- Plezuro 的一個非常重要的問題是元組。 您可以將它用於將儲存所有這些引數的一個變數傳遞給多引數函式。 此外,您可以在類似於 Python 的方式中使用它。