2011-08-03 57 views
1

JSC seems like the simpler-and-easier,更便攜,準普遍安裝 - 世界上node.js的顯而易見的替代...我已經能夠找出基本知識,但幾乎有nada漂浮在那裏關於它(爲什麼?),所以這裏是一個簡單的問題,我希望有人能澄清..如何通過終端將參數傳遞給JavaScriptCore/Console或其他?

我在開始時像這樣的js文件有一個很好的littlejavascript「下課」 ...... BTW, it takes a Hex Color code and spits out a "named" color. Neat.用法示例:

<script type="text/javascript" src="ntc.js"></script> 
<script type="text/javascript"> 
var n_match = ntc.name("#6195ED"); 
    n_rgb  = n_match[0]; // This is the RGB value of the closest matching color 
    n_name  = n_match[1]; // This is the text string for the name of the match 
    n_exactmatch = n_match[2]; // True if exact color match, False if close-match 
alert(n_match); 
</script> 

該代碼始於,並像這樣結束...

var ntc = { 
    init: function() { 
    var color, rgb, hsl; 
    ⤹ 
} 
ntc.init(); 

我可以,很少有安靜有序,硬編碼一些值,這個文件的BOTTOM,像這樣......

var n_match = ntc.name("#000000"); 
print(n_match); 

,並從終端簡單方便地運行代碼。 ..

/System/Library/Frameworks/JavaScriptCore.framework/Versions/A/Resources/jsc -d ntc.js ↩ 

#000000,Black,true

但是,對於我的生活,我無法弄清楚如何通過這個傻逼一些變數..

喜歡,我只是想從204080 8080a0 404060 a0a0a0 606080 c0c0c0 a0a0a0 606060 808080 404040 c0e080 a0e060 80c020 e0f0a0 a0e040 202020 60a0e0 60c0f0 a0a0a0 a0e0f0 202020 606060 a0a0a0 404020 604020 f0c040 202020 得到一個回調,但似乎無法扭轉它的胳膊。該-e選項看起來前途無量,但無濟於事。

有JavaScript有突變處理多年來SOO許多怪異的,小衆的任務,這將是巨大的,它們交給這個傢伙。該比喻木馬被認爲它可能已經安裝,甚至可以運行 - 在潛在的客戶端機器上。儘管這件事情無處不在,但文檔與參加史蒂夫鮑爾默粉絲俱樂部會議一樣稀少......

這就是說,大聲笑,這是唯一半有用的信息片段之一在這個JSC是由一個MS員工一個帖子,從7年前,即建議......標題爲「Commandline.js

import System; 
// This function reads the commandline arguments and prints them 
function PrintCommandLineArguments() { 
    var args:String[] = System.Environment.GetCommandLineArgs(); 
    var iValue:int; 
// Print the command-line arguments  
for (iValue in args) 
    Console.WriteLine(args[iValue]); 
} 
PrintCommandLineArguments(); 

我不能得到那個工作,但必須有是一種方式,聰明的褲子'...哦,坦率地說,這只是增加了我對最近抓住所有服務器端JS人的口中發泡的困惑,因爲這件事顯然是舊的新聞......無論如何,爲什麼這個運行時環境會受到當前熱點解決方案的青睞? JSC吸吮嗎?告訴我,姐姐的女朋友。 ∀Ⓛ∃✖

+0

哦,順便說一下,'#462425,火山口布朗,真正#465945,灰色蘆筍,真正#4682B4,鋼藍色,真正# 480404,質樸的紅色,真#480607,保加利亞玫瑰,真#480656,千里眼,真#。灰色asaparagus聽起來令人厭惡......但是大個子可以找到熱門的答案。 –

回答

3

以下似乎工作:

# using Bash on Mac OS X 10.6.7 
sudo ln -is /System/Library/Frameworks/JavaScriptCore.framework/Versions/A/Resources/jsc /usr/local/bin 

# simple example to print passed arguments 
jsc --help # Usage: jsc [options] [files] [-- arguments] 
jsc <(echo 'print(arguments[0]); print(arguments);') -- one two three 


# http://chir.ag/projects/ntc/ 
curl -L -O http://chir.ag/projects/ntc/ntc.js 
echo ' 
for(var i in arguments) { 
    var n_match = ntc.name(arguments[i]); 
    print(n_match); 
} 
' >> ntc.js 

jsc ntc.js -- 204080 8080a0 404060 a0a0a0 606080 c0c0c0 a0a0a0 606060 808080 \ 
       404040 c0e080 a0e060 80c020 e0f0a0 a0e040 202020 60a0e0 60c0f0 \ 
       a0a0a0 a0e0f0 202020 606060 a0a0a0 404020 604020 f0c040 202020 


# For more information on using javascript from the command line see, for example: 
# - http://www.phpied.com/javascript-shell-scripting/ 
# - http://littlecomputerscientist.wordpress.com/2008/12/19/command-line-scripting-with-javascript/ 
# - http://littlecomputerscientist.wordpress.com/2008/12/20/improving-spidermonkeys-load-for-command-line-javascript/ 
+0

哇,很好的第一個答案...它完美的作品。只有我想補充澄清...你想保存'顏色='jsc ntc.js $參數''然後'回聲$顏色'得到您的輸出正確..在個人筆記..如何做你知道了嗎?它肯定沒有在一個頁面中列出,出於某種原因,js的語法在每一次機會都讓我感到困惑。即使看着這個美麗的工作解決方案,我也不明白,哈哈。是否存在某種心理上的幻想,非法藥物或宣傳冊,可以讓這種事情「發生在你身上」? –

相關問題