2013-06-28 33 views
0

我試圖理解結合的代碼http://nodejs.org/api/util.html和這裏就是我與問候理解如下圖所示嘗試使用文檔來了解一個節點功能

var util = require('util'); 

的代碼包括UTIL模塊。

其具有如下所示的代碼一定的效果,

var financeurl = function(symbols, columns) { 
return util.format(
    'http://finance.yahoo.com/d/quotes.csv?s=%s&f=%s', 
    symbols.join('+'), 
    columns); 
}; 

第二行的地方說,和隨後的三行它

返回util.format

節點文檔說,

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~

util.format(format,[...])#

返回使用第一個參數作爲printf-like格式的格式化字符串。

第一個參數是一個包含零個或多個佔位符的字符串。每個佔位符都由其相應參數中的轉換值替換。支持的佔位符:

%s - String. 
%d - Number (both integer and float). 
%j - JSON. 
% - single percent sign ('%'). This does not consume an argument. 

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~

http://finance.yahoo.com/d/quotes.csv?s=%s&f=%s」,

是要被返回作爲格式的字符串的第一個參數。它包含零佔位符。我對麼?

我在下一部分有點迷路,'符號'和'列'來自節點嗎?我應該在腳本的其他地方尋找他們嗎?我懷疑他們所做的是採取特定股票的符號並加入,並將它們連接到不同的列。

我對代碼的參考文檔在某些方面的解釋是正確的嗎?

回答

0

節點的util.format()Variadic function - 它需要可變數量的參數。

該文檔指定第一個參數是包含零個或多個特殊佔位符的字符串模板。剩餘的參數基本上被視爲一個數組,字符串模板中的佔位符用這些值填充並返回結果字符串。

示例中的字符串 - http://finance.yahoo.com/d/quotes.csv?s=%s&f=%s包含兩個佔位符 - 接近字符串末尾的兩個%s。在給出的代碼中,第一個佔位符被symbols.join('+')的值替換,第二個佔位符的值爲columns

join()是內置在上Array用於(在「+」這種情況下)產生由由逗號默認分離的陣列,或所提供的字符串參數中的每個元素的toString()值的字符串JavaScript方法。)

symbolscolumns不是來自節點 - 它們是程序中其他地方提供的變量。你猜symbols包含你要查詢與雅虎財經服務的股票代碼符號是正確的,但實際上columns指定要由服務回數據列。 (該值可以提供columns和他們的意思在評論節目的頂部被描述爲我是怎麼知道的?我正在啓動工程課程太...:d)

你基本上建立了針對雅虎財經REST服務的請求的URL - 你可以自己玩它,看看該程序的在該字符串模板值插入從中獲得 -

http://finance.yahoo.com/d/quotes.csv?s=GOOG&f=snj1pr - 爲您提供一份包含Google股票代碼的一系列不同值的CSV文件。

http://finance.yahoo.com/d/quotes.csv?s=GOOG+AAPL+MSFT&f=sp - 給你只是股票代碼的CSV和價格每股谷歌,蘋果和微軟。

+0

很酷,謝謝你,看到你的stackoverflow聲望,你一定是一個非常有經驗的程序員,我一直在努力保持的課程,但你知道我真正想要的是深入理解語言。 –

+0

@NoelVock - 我做的客戶端Javascript編程和一般很多Web開發的公平一點,但我是新來的節點和角 - 我走的過程中,幫助他們學習。 – Nate

+0

是啊,我肯定會去鑽研JavaScript中的整個堆後啓動工程課程 –