滿語翻譯
"hello"
Functions
Skill函數供應兩種默示法,一種是代數暗示法,目前大多半說話採取這類方式,即 func( arg1 arg2 ...),另外一種是首碼示意法,雷同於Lisp說話,即(func arg1 arg2 ...)。這裏舉個例子作為比較:
string list
SKILL說話支援一套近似C說話的語法,初學者有了一定的C說話根蒂根基,入門是很輕易的。Cadence的對象可以經由過程CIW,Bindkey,Form,Menu等多種體式格局挪用skill函數,送到skill語言的註釋器來履行各類操作。
greaterp
y-coord of lower left corner
car( car( cdr( ... ) ) )
Meaning
printf( "
%-15s %-15s %-10d %-10d %-10d %-10d"
conversion_code :
Merge two lists with the append function.
nil || t
for和foreach是迴圈節制語句,for和C說話中的根基一樣,foreach經常用於對list的每個元素作迴圈操作,每一個迴圈依次把各個元素的值賦給一個變數,如下面的例子,你會注意到foreach的返回值是迴圈的list
result = '( 2 3 ) => ( 2 3 )
else
numbers = '( 1 2 3 ) => ( 1 2 3 )
if…then…else的then是不克不及省略的(除了只有一個if,沒有else的環境),
Number: 2
2).用cons命令添加一個元素到一個list的頭部
輸出到檔 /tmp/myFile1.
close( inPort )
P - point list (Ignores width and precision fields.)
返回的結果是最後一個計較的運算式,是以與/或邏輯操作可以取代繁瑣的if / when等節制語句,例如:C說話中的操作符, a>b ? c=a : c=b; 即c取a b中較大的一個Skill中沒有近似的操作符,可以用下面語句來完成此操作:
or
upperRight = 500:450
=> ( "rect" "polygon" "rect" "line" )
general
1. Skill說話和Lisp語言的關係
string list
strcat "Hello" "," " everyone" "!" ;上面的括弧可以省略
(defun fibonacci (n)
運行cdsdoc&, 點擊Search打開Cadence help的搜刮功能,工具會主動啟動一個http辦事,同時打開搜刮網頁,啟動辦事後,你也能夠在windows的IE裏輸入http://hostname:9000/search.htm,一樣可以打開搜索頁面,需要注意的是,在C:\WINNT\system32\drivers\etc\hosts檔中需要到場hostname對應的ip,如:
y-coord of upper right corner
127.0.0.1 localhost
10.0.10.2 host1
abc == "ABc"
(cond
upper right corner
Sample Logical Operators
3.4. Skill的輸入輸出
1). 輸出顯示資料:
d - decimal(integer)
Example
)
)
3.1. Skill的變數不需要事前聲明,Skill第一次用到是會主動生成變數。變數可以由字元、數位、“_” 和 “?” 組成,注意第一個字元不克不及是數位和”?”。由於Cadence所開發的Skill中的變數、函數都是第一個字母小寫,以_為開首的是Cadence的專用函數,為了避免衝突,建議大家函數和變數定名都以大寫字母開首。
3.2. Skill的函數的挪用體式格局有三種,
"hello""hello""hello"
) ; foreach
else if condition2 then exp21 exp22 ...
while( fscanf( inPort "%s" word )
用 : 暗示一個座標的list,其結果和list號令一樣,用xCoord和yCoord命令可以訪問xy座標
numeric
member查抄指定的元素是不是在指定的list中,它只搜檢頂層元素的元素,返回值是從搜到值起頭到結尾的list
inPort = infile( "~/.cshrc" )
List的相關操作有良多,這裏就不具體介紹了,可以參考User Guide裏的Advanced List Operations
打開~/.cshrc,輸出檔中的每一個字串
xCoord( aCoordinate ) => 300
cdr( numbers ) => ( 2 3 ) 3.5. Skill的節制結構
1). 關係操作符,如下表:
cadadr
Skill程式就像一個list表,雷同Lisp說話,程式的操作就像運算元據(list)一樣,可以生成,點竄,求值等 println( nextLine )
numeric numbers = '( 1 2 3 ) => ( 1 2 3 ) Function
固然Skill還供給的有max(a b …)的函數,舉這個例子是為了申明&& || 可以取代if then else之類的控制語句 caadr n - numeric 2). 輸出資料到一個檔:outfile定義輸出介面檔,print println fprintf輸出到介面檔, close封閉打開的介面,見下面的例子
c=a
|
|
經由過程car和cdr的組合可以訪問bBox每個元素,並且有相幹的簡化函數,以下表: c=b
L - list (Ignores width and precision fields.) 2.首碼默示法
Example car訪問list的第一個元素
|
與/或邏輯操作只有在需要計算第二個運算式時,才較量爭論第二個表運算式,好比&&操作,當第一個表達時為假時,就不會再較量爭論第二個運算式,|| 操作,當第一個表達時為假時,才會再計較第二個運算式。
f - floating point
|
case的判斷可以是數位和字串,也能夠是它們組成的list,但不支援變數和運算式 b. 資料類型不匹配,如:
|
numbers = '( 1 2 3 ) => ( 1 2 3 )
|
yCoord( aCoordinate ) => 400 ) shapeTypeList = '( "rect" "polygon" "rect" "line" ) [-] = left justify
|
如: strcat ( "Hello" "翻譯社" " everyone" "!" )
a = 1 => 1 t || nil car( ... ) myPort = outfile( "/tmp/myFile2" )
("Number:" 1)
|
Add an element to an existing list with the cons function. equal
|
|
輸出到檔/tmp/myFile2. printf 函數是花式化的輸出,下面的例子是必然花樣輸出圖形層的統計 if condition1 then exp11 exp12 ...
|
when( inPort
ur = cadr( bBox)
|
nil else if condition3 then exp31 exp32 ...
B - Bounding box list (Ignores width and precision.)
Arguments ury = cadadr( bBox) cadar nil
3 || 5
|
3
|
5 || 3
|
5
|
numbers = '( 1 2 3 ) => ( 1 2 3 )
c - character
|
urx = caadr( bBox) lly = cadar( bBox)
|
Cadence skill說話簡介
Specify all the elements as evaluated arguments to the list function.
|
lessp
|
t ' 表示的list嚴格按字面意思 上面臨skill說話作了一個梗概的介紹,固然進修skill需要瞭解的良多,這裏就不再逐一作詳細的介紹了,只是對一些需要注意的地方做一下總結,具體的照舊要學習User Guide
close( myPort )
%[-][width][.precision]conversion_code
|
|
這裏可以看到類似Lisp說話的示意法後面有許多右括弧,並且函數和參數輕易攪渾,所以一般保舉仍是用常用的類C說話代數透露表現法 Operator
b = 2 => 2 cond(
)
|
car( car( ... ) ) (fibonacci (difference n 2))))
|
保舉利用第一種體式格局,需要注意的是函數和第一個括弧之間沒有空格,不然會報錯 ( t ++miscCount ) ll = car( bBox)
|
case( shapeType
Lista = '( 4 5 6 ) => ( 4 5 6 ) )
Function
cadr
|
|
3 && 5
|
5
|
5 && 3
|
3
|
numbers = '( 1 2 3 ) => ( 1 2 3 )
if( a>b then for( i 1 3 yValue = 400 caar
|
if( (n == 1 || n == 2) then
|
...
Listb = '( 1 2 3 ) => ( 1 2 3 ) t
|
|
|
|
(1 2 3) A list containing the integer constants 1, 2, and 3
B). 訪問list或list中某些元素的方式:
|
用list敕令和 ' 來表示一個bBox,list敕令先計較變數或運算式,然後賦給list,' 默示的list和字面的一樣,不會計算變數或運算式的值
|
|
lowerLeft = 300:400 || (1) A list containing the single element 1 ( t expN1 expN2 ... ) Number: 3
|
bBox = list( 300:400 500:450 ) ;含有 : 的bBox Sample Relational Operators
|
1)Skill中的特殊字元(除了字母數位和 _ 以外的其他字元)都有各自的含義,見下表,若是要用到這些字元的話,用\ 可以去掉其特別寄義翻譯
|
( ) An empty list (same as the special atom nil) ( condition1 exp11 exp12 ... )
bBox = '(( 300 400 ) ( 500 450 ))
|
llx = caar( bBox)
3.0 == 3
|
t
|
A). 建立list有以下幾種根基的方法: 假如有良多判定語句,用cond取代if…then…else組合,代碼比力清楚並且執行效力比較高,下面的兩種代碼是等效的翻譯 for( i 1 3
inPort = infile( "~/.cshrc" ) 對應參數的意義以下,printf需要注意輸出類型的對應 strcat( "Hello" "," " everyone" "!" ) ;常見的類C格局 <
|
!= Skill說話的良多地方和C說話差不多,如變數,函數,節制構造,輸入輸出等,具體的介紹可以參考User Guide,這裏只作簡單介紹。
|
"hello"
|
本篇文章引用自此: http://seanhung365.pixnet.net/blog/post/27034702-cadence-skill%E8%AA%9E%E8%A8%80%E7%B0%A1%E4%BB%8B有關各國語文翻譯公證的問題歡迎諮詢天成翻譯公司02-77260931 | | |