本文目錄一覽:
- 1、雲南java培訓學校告訴你腳本語言在軟件開發中有什麼作用?
- 2、北大青鳥java培訓:腳本語言在軟件開發中有什麼作用?
- 3、如何在Java中使用Lua腳本語言
- 4、北大青鳥java培訓:java編程開發語言編輯腳本應該怎麼做?
雲南java培訓學校告訴你腳本語言在軟件開發中有什麼作用?
腳本語言是我們經常在程序開發過程中使用的文檔。在軟件開發中,腳本語言是非常關鍵的。那麼在編寫腳本過程中需要了解和掌握哪些方法和技巧。下面雲南電腦培訓為大家介紹腳本語言在軟件開發中的作用。
1、檢查所有命令的可用性
腳本語言通常調用其他腳本或二進制文件。調用可能不存在的命令時,請檢查它們是否可用。雲南IT培訓建議可以使用“命令-v二進制名稱”來執行此操作,以查看其退出代碼是否為零。
2、獨立於當前工作目錄
如果從不同的目錄運行腳本,可能會發生錯誤。此腳本中,誰都不喜歡。要解決這種問題,最好使用絕對路徑和腳本的相對路徑進行工作。
3、如何讀取輸入
使用腳本可以有兩種方法進行輸入:環境變量和選項標籤。一般情況下,昆明IT培訓建議可以在不影響腳本行為的情況下使用環境變量,對於能夠接觸腳本的不同進程的值,可以使用腳本參數。
4、用動畫的方式顯示進度
部分命令需要長時間執行,並非所有腳本都顯示進度條。用戶等待非同步任務完成時,可以通過幾種方法通知腳本正在執行。
5、用顏色編碼輸出
當調用腳本中的其他二進制文件或腳本時,對它們的輸出進行顏色編碼,以便您能夠知道哪個輸出來自哪個腳本或二進制文件。所以昆明電腦培訓認為這樣我們就不需要在全屏黑白輸出文本中找到所需的輸出。
北大青鳥java培訓:腳本語言在軟件開發中有什麼作用?
腳本語言是我們經常在程序開發過程中使用的文檔。
在軟件開發中,腳本語言是非常關鍵的。
那麼在編寫腳本過程中需要了解和掌握哪些方法和技巧。
下面江西電腦培訓為大家介紹腳本語言在軟件開發中的作用。
1、檢查所有命令的可用性腳本語言通常調用其他腳本或二進制文件。
調用可能不存在的命令時,請檢查它們是否可用。
江西IT培訓建議可以使用“命令-v二進制名稱”來執行此操作,以查看其退出代碼是否為零。
2、獨立於當前工作目錄如果從不同的目錄運行腳本,可能會發生錯誤。
此腳本中,誰都不喜歡。
要解決這種問題,最好使用絕對路徑和腳本的相對路徑進行工作。
3、如何讀取輸入使用腳本可以有兩種方法進行輸入:環境變量和選項標籤。
一般情況下,江西IT培訓建議可以在不影響腳本行為的情況下使用環境變量,對於能夠接觸腳本的不同進程的值,可以使用腳本參數。
4、用動畫的方式顯示進度部分命令需要長時間執行,並非所有腳本都顯示進度條。
用戶等待非同步任務完成時,可以通過幾種方法通知腳本正在執行。
5、用顏色編碼輸出當調用腳本中的其他二進制文件或腳本時,對它們的輸出進行顏色編碼,以便您能夠知道哪個輸出來自哪個腳本或二進制文件。
所以江西電腦培訓認為這樣我們就不需要在全屏黑白輸出文本中找到所需的輸出。
如何在Java中使用Lua腳本語言
LuaJava實際上就是按照Lua官方文檔, 把Lua的C接口通過JNI包裝成Java的庫. 下載, 裡面是一個.dll, 一個.jar. 把.dll放到java.library.path 下, 再把.lib放到classpath 中, helloworld運行OK.
但是, 測試的時候, 很快發現了第一個問題: 在調用LuaJava中提供的LuaState.pushInteger 方法的時候, 出現了錯誤 : Unsatisfied Link Error . 其他的LuaState.pushNumber 方法倒是沒有問題. 用Depends工具看了下, 這個.dll居然沒有導出pushInteger 這個函數。
(1).下載LuaJava的源代碼, 查看了下Luajava.c 和 Luajava.h, 發現果然裡面有點問題, 在.h裡面定義了JNI中對應Java函數的C函數
JNIEXPORT void JNICALL Java_org_keplerproject_luajava_LuaState__1pushInteger
但是.c中沒有實現這個函數. 無語, 看來大馬虎哪都有啊. 幸虧有源代碼, 照貓畫虎在Luajava.c中加上這個函數的實現,
(2).然後編譯. 編譯也出現了問題了, 官方文檔中說可以用VC++來Build, 但是沒有說官方用的是什麼版本. 我用VC2005就不行. 好在Luajava比較小, 就一個.h 一個 .c , 在VC中新建一個.dll項目, 把文件加進去, 修改一下build參數 (Include 需要加上lua的頭文件, lib中需要加上lua的.lib文件, 另外要選上 Compile as C Code (/TC) ) Build, 通過了.
這時再在Java中調用pushInteger方法就沒有問題了.
在測試中, 發現Luajava提供的文檔中, 對於Lua腳本怎麼調用Java對象/方法很詳細, 但是在Java中怎麼調用Lua函數/取得返回值 就沒有. 參考了 的Lua C文檔, 實現了傳遞對象到Lua中並取得返回值的代碼:
Test1: 測試傳遞簡單類型, 並取得返回值:
Lua 腳本(test.lua):
function test(a,b)
return a+b
end
Java代碼:
static {
//加載Lua5.1.dll, 因為LuaJava最後還是要調用Lua的東西
System.loadLibrary(“lua5.1”);
}
public static void main(String[] argu) throws LuaException {
LuaState L = LuaStateFactory.newLuaState();
L.openLibs();
//讀入Lua腳本
int error = L.LdoFile(“test.lua”);
if (error != 0) {
System.out.println(“Read/Parse lua file error. Exit.”);
return;
}
//找到函數test
L.getField(LuaState.LUA_GLOBALSINDEX, “test”);
//參數1壓棧
L.pushInteger(1);
//參數2壓棧
L.pushInteger(2);
//調用!! 一共兩個參數, 1個返回值
L.call(2, 1);
//保存返回值, 到a中
L.setField(LuaState.LUA_GLOBALSINDEX, “a”);
//讀入a
LuaObject l = L.getLuaObject(“a”);
//打印結果.
System.out.println(“Result is ” + l.getString());
L.close();
}
測試2: 傳遞Java對象
class Value {
public int i;
public void inc() {
i++;
}
public int get() {
return i;
}
public String toString() {
return “Value is ” + i;
}
}
Lua腳本: (該腳本中調用兩次對象的inc方法, 並調用get方法輸出結果)
function test1(v)
v:inc();
v:inc();
print(“In lua: ” .. v:get());
return v
end
Java 代碼: (前面都一樣, 略)
//找到函數est1
L.getField(LuaState.LUA_GLOBALSINDEX, “test1”);
//生成新的對象供測試
Value v = new Value();
//對象壓棧
L.pushObjectValue(v);
//調用函數test1, 此時1個參數, 1個返回值
L.call(1, 1);
//結果放在b中.
L.setField(LuaState.LUA_GLOBALSINDEX, “b”);
LuaObject l = L.getLuaObject(“b”);
System.out.println(“Result is ” + l.getObject());
總結:運行結果:
Result is Value is 2
In lua: 2
和預期的一致.
北大青鳥java培訓:java編程開發語言編輯腳本應該怎麼做?
腳本對於大多數程序員來說應該不陌生了吧。
今天我們就一起來了解一下,在使用java編程開發語言編寫API腳本的時候都需要注意哪些問題。
Java腳本化API為誰準備?腳本語言的一些有用的特性是:方便:大多數腳本語言都是動態類型的。
您通常可以創建新的變量,而不聲明變量類型,並且您可以重用變量來存儲不同類型的對象。
此外,腳本語言往往會自動執行許多類型的轉換,例如,必要時將數字10轉換為“10”。
開發快速原型:您可以避免編輯編譯運行周期,只使用“編輯運行”!應用擴展/定製:你可以“具體化”的部分應用程序,例如一些配置腳本,業務邏輯/規則和財務應用中的數學表達式。
為應用添加命令行模式,用於調試、運行時配置/部署時間。
現在大多數應用程序都有一個基於Web的GUI配置工具。
但是系統管理員/部署人員常常喜歡命令行工具。
一個“標準”的腳本語言可以用來實現這個目的,而不是發明特設的腳本語言。
Java腳本API是一種獨立於框架的腳本語言,使用來自於Java代碼的腳本引擎。
通過java腳本API,可以使用Java語言編寫定製/可擴展的應用程序並將自定義腳本語言選擇留給終用戶。
Java應用程序開發者不需要在開發過程中選擇擴展語言。
如果你使用JSR-223API來編寫應用,那麼你的用戶可以使用任何JSR-223兼容的腳本語言。
腳本包Java腳本功能是在javax.script包中。
這是一個比較小的,簡單的API。
腳本的出發點是ScriptEngineManager類。
一個ScriptEngineManager對象可以通過jar文件的服務發現機制發現腳本引擎。
它也可以實例化腳本引擎來解釋使用特定的腳本語言編寫的腳本。
腳本變量當你的java應用程序嵌入腳本引擎和腳本,你可能希望將您的應用程序對象為全局變量暴露於腳本中。
這個例子演示了如何將您的應用程序對象作為全局變量暴露於腳本中。
我們在應用程序中創建一個java.io.File對象作為全局變量,名稱是file。
江蘇電腦培訓發現該腳本可以訪問變量,例如,它可以調用它的公共方法。
注意訪問java對象、領域和方法的語法依賴於腳本語言。
JavaScript支持“自然”的類似java的語法。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/239327.html