mirror of
https://github.com/jashkenas/coffeescript.git
synced 2022-11-09 12:23:24 -05:00
for whatever reason, don't need to force else-bodies to compile as statements anymore ... let them do what they want
This commit is contained in:
parent
e916d4648d
commit
6555473788
6 changed files with 24 additions and 12 deletions
|
@ -2,7 +2,7 @@ grade: student =>
|
|||
if student.excellent_work
|
||||
"A+"
|
||||
else if student.okay_stuff
|
||||
"B"
|
||||
if student.tried_hard then "B" else "B-".
|
||||
else
|
||||
"C"..
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
body {
|
||||
font-size: 14px;
|
||||
line-height: 20px;
|
||||
background: #efefef;
|
||||
background: #efeff9;
|
||||
color: #191933;
|
||||
font-family: Arial, Helvetica, sans-serif;
|
||||
}
|
||||
|
|
|
@ -39,7 +39,7 @@
|
|||
<!-- <%# code_for('intro') %>-->
|
||||
|
||||
<p>
|
||||
<b>Disclaimer:</b><br />
|
||||
<b>Disclaimer:</b>
|
||||
CoffeeScript is just for fun and seriously alpha. <i>There is no guarantee,
|
||||
explicit or implied, of its suitability for any purpose.</i> That said, it
|
||||
compiles into pretty-printed JavaScript (the good parts) that can pass through
|
||||
|
|
|
@ -3,7 +3,11 @@
|
|||
if (student.excellent_work) {
|
||||
return "A+";
|
||||
} else if (student.okay_stuff) {
|
||||
return "B";
|
||||
return if (student.tried_hard) {
|
||||
return "B";
|
||||
} else {
|
||||
return "B-";
|
||||
};
|
||||
} else {
|
||||
return "C";
|
||||
}
|
||||
|
|
20
index.html
20
index.html
|
@ -26,7 +26,7 @@
|
|||
<!-- -->
|
||||
|
||||
<p>
|
||||
<b>Disclaimer:</b><br />
|
||||
<b>Disclaimer:</b>
|
||||
CoffeeScript is just for fun and seriously alpha. <i>There is no guarantee,
|
||||
explicit or implied, of its suitability for any purpose.</i> That said, it
|
||||
compiles into pretty-printed JavaScript (the good parts) that can pass through
|
||||
|
@ -210,7 +210,7 @@ expensive <span class="Keyword">=</span> expensive <span class="Keyword">||</spa
|
|||
<span class="Keyword">if</span> student.excellent_work
|
||||
<span class="String"><span class="String">"</span>A+<span class="String">"</span></span>
|
||||
<span class="Keyword">else</span> <span class="Keyword">if</span> student.okay_stuff
|
||||
<span class="String"><span class="String">"</span>B<span class="String">"</span></span>
|
||||
<span class="Keyword">if</span> student.tried_hard <span class="Keyword">then</span> <span class="String"><span class="String">"</span>B<span class="String">"</span></span> <span class="Keyword">else</span> <span class="String"><span class="String">"</span>B-<span class="String">"</span></span>.
|
||||
<span class="Keyword">else</span>
|
||||
<span class="String"><span class="String">"</span>C<span class="String">"</span></span>..
|
||||
|
||||
|
@ -219,7 +219,11 @@ eldest<span class="Keyword">:</span> <span class="Keyword">if</span> <span class
|
|||
<span class="Keyword">if</span> (student.excellent_work) {
|
||||
<span class="Keyword">return</span> <span class="String"><span class="String">"</span>A+<span class="String">"</span></span>;
|
||||
} <span class="Keyword">else</span> <span class="Keyword">if</span> (student.okay_stuff) {
|
||||
<span class="Keyword">return</span> <span class="String"><span class="String">"</span>B<span class="String">"</span></span>;
|
||||
<span class="Keyword">return</span> <span class="Keyword">if</span> (student.tried_hard) {
|
||||
<span class="Keyword">return</span> <span class="String"><span class="String">"</span>B<span class="String">"</span></span>;
|
||||
} <span class="Keyword">else</span> {
|
||||
<span class="Keyword">return</span> <span class="String"><span class="String">"</span>B-<span class="String">"</span></span>;
|
||||
};
|
||||
} <span class="Keyword">else</span> {
|
||||
<span class="Keyword">return</span> <span class="String"><span class="String">"</span>C<span class="String">"</span></span>;
|
||||
}
|
||||
|
@ -229,7 +233,11 @@ eldest<span class="Keyword">:</span> <span class="Keyword">if</span> <span class
|
|||
if (student.excellent_work) {
|
||||
return "A+";
|
||||
} else if (student.okay_stuff) {
|
||||
return "B";
|
||||
return if (student.tried_hard) {
|
||||
return "B";
|
||||
} else {
|
||||
return "B-";
|
||||
};
|
||||
} else {
|
||||
return "C";
|
||||
}
|
||||
|
@ -319,13 +327,13 @@ var three_to_six = nums.slice(3, 6 + 1);
|
|||
alert(<span class="Variable">this</span>.name <span class="Keyword">+</span> <span class="String"><span class="String">"</span> moved <span class="String">"</span></span> <span class="Keyword">+</span> meters <span class="Keyword">+</span> <span class="String"><span class="String">"</span>m.<span class="String">"</span></span>).
|
||||
|
||||
<span class="FunctionName">Snake</span><span class="Keyword">:</span> <span class="FunctionArgument">name</span> <span class="Storage">=></span> <span class="Variable">this</span>.name<span class="Keyword">:</span> name.
|
||||
Snake <span class="Variable">extends</span> <span class="Keyword">new</span> <span class="TypeName">Animal</span>()
|
||||
Snake.prototype<span class="Keyword">:</span> <span class="Keyword">new</span> <span class="TypeName">Animal</span>()
|
||||
<span class="FunctionName">Snake.prototype.move</span><span class="Keyword">:</span> <span class="Storage">=></span>
|
||||
alert(<span class="String"><span class="String">"</span>Slithering...<span class="String">"</span></span>)
|
||||
<span class="Variable">super</span>(<span class="Number">5</span>).
|
||||
|
||||
<span class="FunctionName">Horse</span><span class="Keyword">:</span> <span class="FunctionArgument">name</span> <span class="Storage">=></span> <span class="Variable">this</span>.name<span class="Keyword">:</span> name.
|
||||
Horse <span class="Variable">extends</span> <span class="Keyword">new</span> <span class="TypeName">Animal</span>()
|
||||
Horse.prototype<span class="Keyword">:</span> <span class="Keyword">new</span> <span class="TypeName">Animal</span>()
|
||||
<span class="FunctionName">Horse.prototype.move</span><span class="Keyword">:</span> <span class="Storage">=></span>
|
||||
alert(<span class="String"><span class="String">"</span>Galloping...<span class="String">"</span></span>)
|
||||
<span class="Variable">super</span>(<span class="Number">45</span>).
|
||||
|
|
|
@ -648,7 +648,7 @@ module CoffeeScript
|
|||
|
||||
def compile(o={})
|
||||
o = super(o)
|
||||
write(o[:statement] || statement? ? compile_statement(o) : compile_ternary(o))
|
||||
write(statement? ? compile_statement(o) : compile_ternary(o))
|
||||
end
|
||||
|
||||
# Compile the IfNode as a regular if-else statement. Flattened chains
|
||||
|
@ -659,7 +659,7 @@ module CoffeeScript
|
|||
if_part = "if (#{@condition.compile(o.merge(:no_paren => true))}) {\n#{Expressions.wrap(@body).compile(o)}\n#{indent}}"
|
||||
return if_part unless @else_body
|
||||
else_part = chain? ?
|
||||
" else #{@else_body.compile(o.merge(:statement => true, :indent => indent))}" :
|
||||
" else #{@else_body.compile(o.merge(:indent => indent))}" :
|
||||
" else {\n#{Expressions.wrap(@else_body).compile(o)}\n#{indent}}"
|
||||
if_part + else_part
|
||||
end
|
||||
|
|
Loading…
Add table
Reference in a new issue