非洲芳文翻譯

string list

...

1).用  list 定義一個list,注意兩者的差異

)

println( list( "Number:" i) myPort )

(fibonacci (difference n 2))))

car( cdr( car( cdr( ...]

Example

caadr

A). 建立list有以下幾種基本的方式:

 

("Number:" 3)

SKILL語言支援一套雷同C語言的語法,初學者有了必然的C說話根本,入門是很輕易的。Cadence的對象可以經由過程CIWBindkeyFormMenu等多種方式調用skill函數,送到skill說話的诠釋器來履行各類操作。

( condition3 exp31 exp32 ... )

3 && 5

5

5 && 3

3

upperRight = 500:450

||

myPort = outfile( "/tmp/myFile2" )

3.3. Skill ListSkill基於Lisp(List Processing)語言的表現,它是skill資料物件的一個有序調集,skill資料甚至程式自己都可以看作是一個list,這是C語言中所沒有的概念。下面是skill list的簡單例子

 

 

輸出到檔/tmp/myFile2.

b. 資料類型不匹配,如:

Skill說話有n多函數,加上眾多東西的介面函數,可以用不計其數來形容,初學者可能會感應蒙頭轉向,無從下手翻譯其實只要瞭解根基的變數,節制語句,輸入輸出和一些經常使用對象的根基函數就能夠了,大多數函數都可以用到再查閱。最先進修skill時可以細心看看SKILL Language User Guide其他的可以用到時再查閱,這裏列出幾個常常會用到的文檔:SKILL Language Reference Skill說話相幹的函數,Cadence User Interface SKILL Functions ReferenceCadence應用程式圖形介面介面函數,Design Framework II SKILL Functions ReferenceSKILL Custom Layout ReferenceSKILL Schematic Composer Reference離別是CadenceDesign Framework II,版圖,電路的介面函數。

              􀂾假如有許多判斷語句,用cond取代if…then…else組合,代碼比力清楚並且履行效力對照高,下面的兩種代碼是等效的。

bBox = list( lowerLeft upperRight )

x-coord of lower left corner

general

car( cdr( ... ) )

car訪問list的第一個元素

4 >=3

t

) ;case

geqp

[-] = left justify

1Skill中的特別字元(除了字母數位以及 之外的其他字元)都有各自的寄義,見下表,若是要用到這些字元的話,用可以去掉其非凡寄義。

result = '( 2 3 ) => ( 2 3 )

1. Skill說話和Lisp語言的關係

"hello"

f - floating point

3 < 5

t

3 < 2

P - point list (Ignores width and precision fields.)

a = 1 => 1

"hello"

!=

shapeTypeList = '( "rect" "polygon" "rect" "line" )

3.4. Skill的輸入輸出

1). 輸出顯示資料:

t

else if condition3 then exp31 exp32 ...

procedure( fibonacci(n)

lessp

B - Bounding box list (Ignores width and precision.)

 

Function

 

else if condition2 then exp21 exp22 ...

C). 關於xy座標或bBox界限list的訪問

cadadr

Function

( condition2 exp21 exp22 ... )

2.首碼暗示法

Arguments

)

(1 (2 3) 4) A list containing another list as its second element

)

xCoord( aCoordinate ) => 300

y-coord of lower left corner

t && nil

              􀂾case的判斷可所以數位和字串,也能夠是它們構成的list,但不支援變數和運算式

( ) An empty list (same as the special atom nil)

( condition1 exp11 exp12 ... )

              􀂾if…then…elsethen是不能省略的(除只有一個if,沒有else的情形)

 

Number: 1

固然還有其他眾多工具的介面函數,是以Skill需要便利的函數查閱方式,這裏列出3種:

示意的list嚴酷按字面意思

caar

or

 

 

4. Skill說話中經常使用常識匯總列表

B). 訪問list或者list中某些元素的方式:

%[-][width][.precision]conversion_code

printf( " %-15s %-15s %-10d %-10d %-10d %-10d"

numeric

上面對skill語言作了一個或者的介紹,固然進修skill需要瞭解的很多,這裏就不再逐一作詳細的介紹了,只是對一些需要注意的地方做一下總結,具體的仍是要學習User Guide

>

d - decimal(integer)

2).用cons命令添加一個元素到一個list的頭部

numeric

cdr( numbers ) => ( 2 3 )

abc == "ABc"

member查抄指定的元素是否在指定的list中,它只查抄頂層元素的元素,返回值是從搜到值開始到結尾的list

print  println 函數都可以用來顯示單個資料,println可以在顯示的資料後多加一個回車

s - string or symbol

list( a b 3 ) => ( 1 2 3 )

1.代數默示法

              􀂾Merge two lists with the append function.

rectCount = lineCount = polygonCount = 0

numbers = '( 1 2 3 ) => ( 1 2 3 )

numbers = '( 1 2 3 ) => ( 1 2 3 )

 

              􀂾Add an element to an existing list with the cons function.

List的相幹操作有許多,這裏就不詳細介紹了,可以參考User Guide裏的Advanced List Operations

if condition1 then exp11 exp12 ...

x-coord of upper right corner

Arguments

close( myPort )

)

 

for( i 1 3

xValue = 300

Return Value

cond(

yCoord( aCoordinate ) => 400

cadar

and

3). 節制語句:if(…then…else….)whenunlesscasecond,迴圈語句forforecah等,節制語句和C說話雷同,都是先判定某個變數或者運算式是不是為真,然後履行下面的操作,需要注意的是

List Explanation

 

...

println( word )

nil

c=a

通過carcdr的組合可以拜候bBox每個元素,並且有相關的簡化函數,以下表:

[.precision] = number of characters to be printed

SKILL中只有 nil 是假(FALSE),其餘的任何值都是真(TRUE)

對應參數的意義如下,printf需要注意輸出類型的對應

 

numbers = '( 1 2 3 ) => ( 1 2 3 )

 

2). 邏輯操作符,如下表:

car( car( ... ) )

) ; cond

close( inPort )

Operator

/或邏輯操作只有在需要計較第二個運算式時,才計算第二個表運算式,比如&&操作,當第一個表達時為假時,就不會再較量爭論第二個運算式,|| 操作,當第一個表達時為假時,才會再計較第二個運算式。

 

numbers = '( 1 2 3 ) => ( 1 2 3 )

 

1

else expN1expN2 ....

(1 2 3) A list containing the integer constants 1, 2, and 3

car( cdr( car( ... ) ) )

Sample Logical Operators

)

bBox = '(( 300 400 ) ( 500 450 ))

nth( 1 numbers ) => 2

127.0.0.1 localhost

10.0.10.2 host1

inPort = infile( "~/.cshrc" )

printf 函數是格局化的輸出,下面的例子是一定格局輸出圖形層的統計

(cond

b = 2 => 2

layerName purpose rectCount labelCount lineCount miscCount

3.0 == 3

t

nil

t

numeric

nequal

("Number:" 2)

length( numbers ) => 3

Cadence skill語言簡介

 

abc != "ABc"

("Number:" 1)

 

length計算list所包括元素的個數

Functions

)

輸出到檔 /tmp/myFile1.

其中CIW(Command Interpreter Window),即啟動Icfb的第一個視窗,包括一些常用的menu,一個輸入行,和一個輸出區域,這裏是經常使用的debug skill程式的處所,當然cadence也提供了Tools->Skill Development,有愛好的話可以深切研究一下

=> ( "rect" "polygon" "rect" "line" )

打開~/.cshrc,輸出檔中的每個字串

numeric

for( i 1 3

2.1 Skill函數的查閱方式

) ; foreach

when( inPort

<

1.最簡單的方式,看~/CDS.log檔或CIW的輸出區域,把Options-> LogFilter都選上。這裏一般可以查閱在圖形介面下運行的函數,如圖,天成翻譯公司們可以看到畫path線的函數和輸出結果等

 

2.在CIW裏輸入命令startFinder,或在Terminal上輸入cdsFinder& . Finder合用於最少知道函數名的一部門,這裏可以查到函數的用法簡介。例如上圖天成翻譯公司們看到畫path的函數是leHiCreatePath(),但這是圖形體例的函數,對應skill體例的函數呢用法呢,可以在Finder中輸入CreatePath,如許我們就能夠看到包括有CreatePath的所有函數,如圖,leCreatePath便是我們想找的函數,這裏可以看到簡單的用法介紹

 

 

3.上面我們查到的關於函數用法的介紹很簡單,若何知道其具體介紹呢。固然假如翻譯公司知道函數在那個文檔裏,直接打開就好了,如果不知道,就需要打開helpsearch功能,這裏可以查到具體的功能用法。

cdr會見list除了第一個元素外的其他元素,注意返回依然是個list

( "polygon" ++polygonCount )

while( fscanf( inPort "%s" word )

              􀂾把最可能呈現的情況放在最前面,若是泛起的概率都一樣,把計算量最大的放在最後面,這樣可以有用的提高代碼效率翻譯

car( numbers ) => 1

 

c=b

y-coord of upper right corner

=>*Error* strcat: argument #2 should be either a string

strcat( "Mary had a" 5 )

else

numeric

              􀂾要害字(其實也是skill的函數)和左括弧之間不克不及有空格,

"hello"

 

if( (n == 1 || n == 2) then

lly = cadar( bBox)

這裏可以看到雷同Lisp說話的默示法後面有許多右括弧,而且函數和參數輕易混淆,所以一般保舉照樣用經常使用的類C說話代數默示法

upper right corner

Meaning

a. 軟體沒回應,比如在CIW中輸入段代碼,軟體沒有反應,什麼後果也沒有,通常爲因為( )或者” “不成對釀成的,一般可以經由過程鍵入 來解決,它透露表現補充完不合錯誤稱的括弧(來自: http://seanhung365.pixnet.net/blog/post/27034702-cadence-skill%E8%AA%9E%E8%A8%80%E7%B0%A1%E4%BB%8B有關各國語文翻譯公證的問題歡迎諮詢天成翻譯公司02-77260931

arrow
arrow
    文章標籤
    翻譯社
    全站熱搜