2011-08-03 12 views
1

JSC seems like the simpler-and-easier、もっと移植性があり、準普遍的にインストールされています - 世界のnode.jsに代わる明白な代替策...私は基礎を理解することができましたが、 ?)は、ので、ここで私は誰かが明確にすることができます願っています簡単な問題は...私はこのようなアウトを開始.jsファイルでの素敵なlittlejavascript「クラス」を持っている..JavaScriptCore/Consoleに引数を渡すには?

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(); 

私はそう...

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

と端末から簡単かつ容易にコードを実行するように、このドキュメントのBOTTOMで、いくつかの値をハードコーディングするために、少しMUSSまたは大騒ぎで、できています。 ..

/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多くの奇妙な、ニッチなタスクがありますが、この男にそれらをハンドオフするために素晴らしいことだ...それはおそらくすでにインストール済みだということで比喩トロイの木馬は、多分実行可能 - 潜在的なクライアントマシン。しかし、このことはどこにでもあるので、ドキュメントはSteve Ballmerのファンクラブ会議の出席者ほどまれである。

これは、唯一の半有用なスニペットの1つである、JSCは示唆...タイトルで、7年前から、MSの従業員によって投稿からだった「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、Rustic Red、true#480607、ブルガリアローズ、真#480656、Clairvoyant、true'。グレーのアナパラグスは嫌な音を出しますが、ホットな答えにはピートがかかります。 –

答えて

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

うわー、いい最初の答え...それは完全に動作します。私は明確にするために追加するだけです...あなたは 'colors =' jsc ntc.js $ arguments''を保存して、出力を正しく得るために 'echo $ colors'を保存したいと思います。あなたはそれを把握していますか?何らかの理由でページなどで綴られていなかったのは確かですが、jsの構文はそれが得られるあらゆる機会に私を驚かせます。この美しくて実用的な解決策を見ても、私はそれを得られない、笑。あなたにこの種のことが起こることをあなたが推薦することができる精神的なパラダイム、違法薬物、またはパンフレットがありますか? –