Skip to content

Instantly share code, notes, and snippets.

@dmmfll
Last active February 24, 2017 19:48
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save dmmfll/ebe8a27bb7590194994685d71f861301 to your computer and use it in GitHub Desktop.
Save dmmfll/ebe8a27bb7590194994685d71f861301 to your computer and use it in GitHub Desktop.
gist_url
auto_gistup
.ipynb_checkpoints/
Untitled*
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"cell_type": "code",
"execution_count": 10,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"10\n",
"9\n",
"8\n",
"7\n",
"6\n",
"5\n",
"4\n",
"3\n",
"2\n",
"1\n",
"0\n"
]
}
],
"source": [
"var i = 11;\n",
"\n",
"while ( i-- ){ // exists because 0 is false in JS\n",
" console.log(i)\n",
"}"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"JavaScript does not come with batteries included.\n",
"\n",
"So what is so easy in Ruby:\n",
"\n",
"```ruby\n",
"(\"a\"..\"z\").to_a\n",
"```\n",
"\n",
"has to be done by hand in JavaScript. \n",
"\n",
"It is an opportunity to learn! (Or to look for a library.)\n",
"\n",
"See the recipe for lowercase letters [here](http://rosettacode.org/wiki/Generate_lower_case_ASCII_alphabet#JavaScript)."
]
},
{
"cell_type": "code",
"execution_count": 11,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"var lowercase_letters = function (cFrom, cTo) {\n",
" \n",
" function cRange(cFrom, cTo) {\n",
" var iStart = cFrom.charCodeAt(0);\n",
" \n",
" return Array.apply(\n",
" null, Array(cTo.charCodeAt(0) - iStart + 1)\n",
" ).map(function (_, i) {\n",
" \n",
" return String.fromCharCode(iStart + i);\n",
" \n",
" });\n",
" }\n",
" \n",
" return cRange(cFrom, cTo);\n",
" \n",
"};"
]
},
{
"cell_type": "code",
"execution_count": 12,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"a\n",
"b\n",
"c\n",
"d\n",
"e\n",
"f\n",
"g\n",
"h\n",
"i\n",
"j\n",
"k\n",
"l\n",
"m\n",
"n\n",
"o\n",
"p\n",
"q\n",
"r\n",
"s\n",
"t\n",
"u\n",
"v\n",
"w\n",
"x\n",
"y\n",
"z\n"
]
}
],
"source": [
"var letters = lowercase_letters('a', 'z'),\n",
" i = letters.length,\n",
" letter;\n",
"\n",
"letters.reverse();\n",
"while ( i-- ){\n",
" letter = letters[i];\n",
" console.log(letter);\n",
"}"
]
},
{
"cell_type": "code",
"execution_count": 13,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"9\n",
"8\n",
"7\n",
"6\n",
"5\n",
"4\n",
"3\n",
"2\n",
"1\n",
"0\n"
]
}
],
"source": [
"// recursive countdown\n",
"\n",
"var countdown = function countdown(x){\n",
" if (x === 0){\n",
" return;\n",
" }\n",
" x -= 1;\n",
" console.log(x);\n",
" return countdown(x);\n",
"}\n",
"countdown(10);"
]
}
],
"metadata": {
"kernelspec": {
"display_name": "NodeJS",
"language": "javascript",
"name": "nodejs"
},
"language_info": {
"codemirror_mode": "javascript",
"file_extension": ".js",
"mimetype": "text/javascript",
"name": "nodejs",
"pygments_lexer": "javascript",
"version": "0.10"
}
},
"nbformat": 4,
"nbformat_minor": 0
}
var i = 11;
while ( i-- ){ // exists because 0 is false in JS
console.log(i)
}
var lowercase_letters = function (cFrom, cTo) {
function cRange(cFrom, cTo) {
var iStart = cFrom.charCodeAt(0);
return Array.apply(
null, Array(cTo.charCodeAt(0) - iStart + 1)
).map(function (_, i) {
return String.fromCharCode(iStart + i);
});
}
return cRange(cFrom, cTo);
};
var letters = lowercase_letters('a', 'z'),
i = letters.length,
letter;
letters.reverse();
while ( i-- ){
letter = letters[i];
console.log(letter);
}
// recursive countdown
var countdown = function countdown(x){
if (x === 0){
return;
}
x -= 1;
console.log(x);
return countdown(x);
}
countdown(10);
Display the source blob
Display the rendered blob
Raw
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
integers = [3, 5]
number_range = (0..10)
sum = integers.map {|n| number_range.step(n).to_a}
.flatten
.inject(:+)
puts sum
integers = [3, 5]
number_range = (0..10)
sum = integers.map {|n| number_range.step(n).to_a}
puts sum
integers = [3, 5]
number_range = (0..10)
sum = integers.map {|n| number_range.step(n).to_a}
.flatten
puts sum
integers = [3, 5]
number_range = (0..10)
sum = integers.map {|n| number_range.step(n).to_a}
.flatten
.inject(:+)
puts sum
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment