Branch
Hash :
c3ed5b52
Author :
Date :
2018-03-11T11:11:05
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83
<h2>Comments</h2>
<pre><code># This is a single line comment
/* This is a
multi line comment */</code></pre>
<h2>Numbers</h2>
<pre><code>42
42km
3.754km_2
16~BadFace
36~azertyuiop0123456789</code></pre>
<h2>Strings and interpolation</h2>
<pre><code>''
''''''
""
""""""
'Foo \' bar
baz'
'''Foo \''' bar
bar'''
"Foo #bar \"
#{2 + 2}\""
"""#foobar \""" #{ if /test/ == 'test' then 3 else 4}
baz"""</code></pre>
<h2>Regex</h2>
<pre><code>/foobar/ig
//
^foo # foo
[bar]*bA?z # barbaz
//m</code></pre>
<h2>Full example</h2>
<pre><code># example from Str.ls
split = (sep, str) -->
str.split sep
join = (sep, xs) -->
xs.join sep
lines = (str) ->
return [] unless str.length
str.split '\n'
unlines = (.join '\n')
words = (str) ->
return [] unless str.length
str.split /[ ]+/
unwords = (.join ' ')
chars = (.split '')
unchars = (.join '')
reverse = (str) ->
str.split '' .reverse!.join ''
repeat = (n, str) -->
result = ''
for til n
result += str
result
capitalize = (str) ->
(str.char-at 0).to-upper-case! + str.slice 1
camelize = (.replace /[-_]+(.)?/g, (, c) -> (c ? '').to-upper-case!)
# convert camelCase to camel-case, and setJSON to set-JSON
dasherize = (str) ->
str
.replace /([^-A-Z])([A-Z]+)/g, (, lower, upper) ->
"#{lower}-#{if upper.length > 1 then upper else upper.to-lower-case!}"
.replace /^([A-Z]+)/, (, upper) ->
if upper.length > 1 then "#upper-" else upper.to-lower-case!
module.exports = {
split, join, lines, unlines, words, unwords, chars, unchars, reverse,
repeat, capitalize, camelize, dasherize,
}</code></pre>