自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

直接在源文件中編寫Jython代碼

開發(fā) 后端
本文介紹了Jython代碼的特性:盡管使用Jython解釋器十分方便,但實(shí)際上可以直接在源文件中編寫代碼。

Jython解釋器對(duì)于快速檢查和作提示都很方便,但您不必在這其中完成所有工作 ― Jython 還允許您在源文件中編寫代碼,并隨后運(yùn)行該代碼(雖然使用 Jython 時(shí),編譯步驟是可選的)。以下清單是一個(gè)獨(dú)立 Jython程序的示例:

清單 7. 模擬硬幣投擲的樣本 Jython程序(listing7.py)

  1. from java.util import Random  
  2. rng = Random()  
  3. #This is a comment in Jython  
  4. print "Flipping a coin..." 
  5. if rng.nextBoolean():  
  6.     print "Came up heads" 
  7. else:  
  8.     print "Came up tails" 

在解釋如何運(yùn)行該代碼之前,讓我們先解釋一下代碼。這個(gè)示例引入了 Jython 中的 if 語(yǔ)句,這是有些人對(duì) Jython(及其先輩 Python)評(píng)論的首要方面之一。沒(méi)有字符定界符標(biāo)記出當(dāng) if 語(yǔ)句條件為真時(shí)要執(zhí)行的代碼塊(Jython 中的條件不需要括起的圓括號(hào),這與 Java 編程一樣)。只是這些代碼比周圍的代碼縮進(jìn)一層。

Jython代碼塊總是使用縮進(jìn)進(jìn)行標(biāo)記,而不是使用其它標(biāo)記,例如花括號(hào)。引入代碼塊的語(yǔ)句(例如 if )以冒號(hào)作為結(jié)尾。Jython 的這個(gè)特性意味著在編寫代碼時(shí)必須小心,因?yàn)榭s進(jìn)代碼的方式實(shí)際上可能會(huì)改變代碼的含義。例如,清單 8a 產(chǎn)生的打印輸出只有數(shù)字 3,因?yàn)樗厦鎯蓚€(gè)語(yǔ)句都屬于其條件永遠(yuǎn)不為真的 if 塊:

清單 8a. Jython代碼的縮進(jìn):只打印“3”

  1. if 0:  
  2.     print "1" 
  3.     print "2" 
  4. print "3" 

如果我只更改其中一行的縮進(jìn),那么就會(huì)打印數(shù)字 2和數(shù)字 3:

清單 8b. Jython代碼的縮進(jìn):打印“2”和“3”

  1. if 0:  
  2.     print "1" 
  3. print "2" 
  4. print "3" 

縮進(jìn)還必須一致,它必須與將代碼組織成塊的語(yǔ)句相關(guān)聯(lián),而且通常它還必須控制代碼流。例如:

清單 8c. Jython代碼的縮進(jìn):語(yǔ)法錯(cuò)誤

  1. print "1" 
  2.     print "2" 
  3. print "3" 

這只會(huì)產(chǎn)生一個(gè)語(yǔ)法錯(cuò)誤,因?yàn)闆](méi)有任何控制語(yǔ)句要求將一個(gè)塊與代碼其余部分相分離。

使用縮進(jìn)標(biāo)記代碼塊是 Python 和 Jython 的更有爭(zhēng)議的特性之一,但我認(rèn)為這個(gè)問(wèn)題常常被夸大了。畢竟,如果您遵循有關(guān)縮進(jìn)的良好的編碼標(biāo)準(zhǔn),就不應(yīng)該有這種問(wèn)題。如果遵循了良好的編碼縮進(jìn),那么機(jī)器會(huì)執(zhí)行,同行評(píng)論家就無(wú)話可說(shuō),因此事實(shí)勝于雄辯。

此外,我知道當(dāng)開發(fā)人員對(duì)這種語(yǔ)言使用一段時(shí)間后,沒(méi)有誰(shuí)會(huì)注意這種限制。適當(dāng)縮進(jìn)成為 Jython 的第二本性??s進(jìn)和語(yǔ)法之間的這種聯(lián)系當(dāng)然可能會(huì)引起以前未遇到過(guò)的錯(cuò)誤,但是沒(méi)有顯式的定界符也消除了使用這些定界符的語(yǔ)言中的某些常見錯(cuò)誤。

您可以不必編譯就可運(yùn)行 清單 7 中的文件(listing7.py),只需將該文件名作為 jython 命令的參數(shù)來(lái)調(diào)用,如下所示:

清單 9. 不編譯就運(yùn)行“硬幣投擲”

  1. $ jython listing7.py  
  2. Flipping a coin...  
  3. Came up tails  

在上個(gè)示例中, $ 就是 UNIX shell 提示符,它非常象 Windows 系統(tǒng)上的 C:\> 。您還可以使用 jpythonc 命令將模塊編譯成 Java 字節(jié)碼( .class )文件,該命令允許您使用 java 或 jre 命令直接運(yùn)行它。用這種方法編譯的 Jython 模塊有一些限制,但這個(gè)問(wèn)題超出了本文的范圍。

【編輯推薦】

  1. Jython入門指導(dǎo):語(yǔ)言特性簡(jiǎn)介
  2. Jython的字符串操作和函數(shù)
  3. 更多的處理:在Jython中解析命令行
  4. 如何將Jython類型轉(zhuǎn)換為Java類型
  5. Jython訪問(wèn)Java屬性文件的方法一覽
責(zé)任編輯:yangsai 來(lái)源: IBMDW
相關(guān)推薦

2009-07-10 18:10:18

Jython編寫SerJython

2009-07-14 15:20:25

Jython腳本Jython解釋器

2009-07-14 17:30:21

Jython語(yǔ)法學(xué)習(xí)

2012-03-09 17:35:43

ibmdw

2010-01-27 09:43:32

Chrome瀏覽器

2011-11-11 11:01:23

Windows 8系統(tǒng)

2013-08-09 09:23:21

2009-07-15 18:14:46

學(xué)習(xí)Jython

2009-07-10 17:33:39

jython語(yǔ)言什么是JythonJython

2013-08-09 17:45:28

2009-07-10 17:54:15

Java中調(diào)用JythJython

2009-07-16 13:09:46

Jython安裝

2011-11-30 10:55:54

2020-09-30 09:16:23

WindowsLinux安裝

2024-04-01 00:00:00

AnsibleJenkins應(yīng)用程序

2009-07-09 18:12:53

Servlet源文件

2013-06-17 17:02:15

Windows PhoWP開發(fā)資源文件

2009-07-14 16:51:50

Jython中的對(duì)象

2009-10-28 11:44:34

VB.NET資源文件

2010-03-15 17:26:58

Python字典
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)