javascript或node.js的string.format,sprintf()等的coffeescript版本 [英] coffeescript version of string.format, sprintf() etc. for javascript or node.js
本文介绍了javascript或node.js的string.format,sprintf()等的coffeescript版本的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
如何在coffeescript中使用string.format()或sprintf()?
How do I string.format() or sprintf() in coffeescript?
推荐答案
String.prototype.format = ->
args = arguments
return this.replace /{(\d+)}/g, (match, number) ->
return if typeof args[number] isnt 'undefined' then args[number] else match
使用一些来自害怕的JavaScript 翻译
Translated using some javascript from fearphage
然后可以这样使用:
fmt = "<p>{0} {1} (<a href='mailto:{2}'>{2}</a>)</p>"
mystring = fmt.format "Fred", "Flinstone", "fflinstone@bedrock.gov"
mystring将会是:
mystring would then be:
<p>Fred Flinstone (<a href='mailto:fflinstone@bedrock.gov'>fflinstone@bedrock.gov</a>)</p>
使用#{var}方法(对于给定的完美)不适用于字符串需要回收几次。在循环的情况下,例如:
Using the #{var} approach (while perfect for example given) doesn't work with a string that needs to be recycled several times. In a looping situation for example:
HTML_header = fs.readFileSync('includes/notify/header.html').toString()
HTML_managerOpen = fs.readFileSync('includes/notify/managerOpen.html').toString()
HTML_student = fs.readFileSync('includes/notify/student.html').toString()
HTML_managerClose = fs.readFileSync('includes/notify/managerClose.html').toString()
HTML_footer = fs.readFileSync('includes/notify/footer.html').toString()
HTML_final = HTML_header
getter2 = (r, callback) ->
HTML_final += HTML_managerOpen.format r.EMAIL, r.FNAME, r.LNAME, r.STUDENTS.length, r.PHONE, r.MEMAIL, r.MFNAME, r.MLNAME
async.forEachSeries r.STUDENTS, getter3, (err) ->
HTML_final += HTML_managerClose
callback null
getter3 = (r, callback) ->
HTML_final += HTML_student.format r.EMAIL, r.FNAME, r.LNAME, r.PHONE, r.DESCRIPTION, r.ENROLLED, "", "", "", "", "", "", r.CERTEXAMSCORE, r.COIKEY
callback null
async.forEachSeries results, getter2, (err) ->
cback null, HTML_final + HTML_footer
这篇关于javascript或node.js的string.format,sprintf()等的coffeescript版本的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文