From a994e73a23109290f25b54dccac4658b0efc9b03 Mon Sep 17 00:00:00 2001 From: Alex Saskevich Date: Fri, 10 Oct 2014 22:35:22 +0300 Subject: [PATCH 1/5] Russian tranlation of coffeescript.html.markdown --- ru-ru/coffeescript-ru.html.markdown | 103 ++++++++++++++++++++++++++++ 1 file changed, 103 insertions(+) create mode 100644 ru-ru/coffeescript-ru.html.markdown diff --git a/ru-ru/coffeescript-ru.html.markdown b/ru-ru/coffeescript-ru.html.markdown new file mode 100644 index 00000000..335cfa50 --- /dev/null +++ b/ru-ru/coffeescript-ru.html.markdown @@ -0,0 +1,103 @@ +--- +language: coffeescript +contributors: + - ["Tenor Biel", "http://github.com/L8D"] + - ["Xavier Yao", "http://github.com/xavieryao"] + - ["asaskevich", "http://github.com/asaskevich"] +filename: coffeescript.coffee +lang: ru-ru +--- + +CoffeeScript - это небольшой язык, который компилируется один-к-одному в эквивалентный код на языке JavaScript, а потому он не интерпретируется во время исполнения JavaScript кода. +Ключевой особенностью CoffeeScript является то, что он пытается создать читабельный, качественно оформленный и плавный JavaScript код, прекрасно работающий в любой среде JavaScript. + +Также загляните на официальный сайт [языка](http://coffeescript.org/), где можно найти весьма полный туториал по CoffeeScript. + +```coffeescript +# CoffeeScript - язык хипстеров. +# Язык использует только самое лучшее из множества современных языков. +# Эти комментарии по стилю похожи на комментарии Ruby или Python, они используют "решетку" в качестве знака комментария. + +### +Блоки комментариев выделяются тремя символами "решетки", в результирующем JavaScript коде они будут преобразованы в '/ * и '* /'. + +Перед тем, как идти далее, Вам нужно понимать семантику JavaScript. +### + +# Присвоение: +number = 42 #=> var number = 42; +opposite = true #=> var opposite = true; + +# Условия: +number = -42 if opposite #=> if(opposite) { number = -42; } + +# Функции: +square = (x) -> x * x #=> var square = function(x) { return x * x; } + +fill = (container, liquid = "coffee") -> + "Заполняем #{container} жидкостью #{liquid}..." +#=>var fill; +# +#fill = function(container, liquid) { +# if (liquid == null) { +# liquid = "coffee"; +# } +# return "Заполняем " + container + " жидкостью " + liquid + "..."; +#}; + +# Списки и диапазоны: +list = [1..5] #=> var list = [1, 2, 3, 4, 5]; + +# Объекты: +math = + root: Math.sqrt + square: square + cube: (x) -> x * square x +#=> var math = { +# "root": Math.sqrt, +# "square": square, +# "cube": function(x) { return x * square(x); } +#} + +# Функции: +race = (winner, runners...) -> + print winner, runners +#=>race = function() { +# var runners, winner; +# winner = arguments[0], runners = 2 <= arguments.length ? __slice.call(arguments, 1) : []; +# return print(winner, runners); +#}; + +# Проверка на существование объекта: +alert "Я знаю это!" if elvis? +#=> if(typeof elvis !== "undefined" && elvis !== null) { alert("Я знаю это!"); } + +# Понимание массивов: +cubes = (math.cube num for num in list) +#=>cubes = (function() { +# var _i, _len, _results; +# _results = []; +# for (_i = 0, _len = list.length; _i < _len; _i++) { +# num = list[_i]; +# _results.push(math.cube(num)); +# } +# return _results; +# })(); + +foods = ['broccoli', 'spinach', 'chocolate'] +eat food for food in foods when food isnt 'chocolate' +#=>foods = ['broccoli', 'spinach', 'chocolate']; +# +#for (_k = 0, _len2 = foods.length; _k < _len2; _k++) { +# food = foods[_k]; +# if (food !== 'chocolate') { +# eat(food); +# } +#} +``` + +## На почитать + +- [Smooth CoffeeScript](http://autotelicum.github.io/Smooth-CoffeeScript/) +- [CoffeeScript Ristretto](https://leanpub.com/coffeescript-ristretto/read) +- [CoffeeScript на русском](http://cidocs.ru/coffeescript/) From 849f1d26e270ac59026740e3d6dda01a8c130556 Mon Sep 17 00:00:00 2001 From: Alex Saskevich Date: Sat, 11 Oct 2014 00:18:04 +0300 Subject: [PATCH 2/5] Fixed filename --- ru-ru/coffeescript-ru.html.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ru-ru/coffeescript-ru.html.markdown b/ru-ru/coffeescript-ru.html.markdown index 335cfa50..b57372df 100644 --- a/ru-ru/coffeescript-ru.html.markdown +++ b/ru-ru/coffeescript-ru.html.markdown @@ -4,7 +4,7 @@ contributors: - ["Tenor Biel", "http://github.com/L8D"] - ["Xavier Yao", "http://github.com/xavieryao"] - ["asaskevich", "http://github.com/asaskevich"] -filename: coffeescript.coffee +filename: learncoffee-ru.coffee lang: ru-ru --- From 83217c2475b87cd41ca82f8fc4009fdd055a8f7b Mon Sep 17 00:00:00 2001 From: Alex Saskevich Date: Sat, 11 Oct 2014 00:56:33 +0300 Subject: [PATCH 3/5] Nickname moved to `translators` section --- ru-ru/coffeescript-ru.html.markdown | 1 + 1 file changed, 1 insertion(+) diff --git a/ru-ru/coffeescript-ru.html.markdown b/ru-ru/coffeescript-ru.html.markdown index b57372df..5c9a7870 100644 --- a/ru-ru/coffeescript-ru.html.markdown +++ b/ru-ru/coffeescript-ru.html.markdown @@ -3,6 +3,7 @@ language: coffeescript contributors: - ["Tenor Biel", "http://github.com/L8D"] - ["Xavier Yao", "http://github.com/xavieryao"] +translators: - ["asaskevich", "http://github.com/asaskevich"] filename: learncoffee-ru.coffee lang: ru-ru From 7519249a0e66f3447bc0e91a0390f015e458b0a5 Mon Sep 17 00:00:00 2001 From: Alex Saskevich Date: Sun, 12 Oct 2014 11:03:06 +0300 Subject: [PATCH 4/5] Update coffeescript-ru.html.markdown --- ru-ru/coffeescript-ru.html.markdown | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/ru-ru/coffeescript-ru.html.markdown b/ru-ru/coffeescript-ru.html.markdown index 5c9a7870..9ee547a4 100644 --- a/ru-ru/coffeescript-ru.html.markdown +++ b/ru-ru/coffeescript-ru.html.markdown @@ -9,14 +9,14 @@ filename: learncoffee-ru.coffee lang: ru-ru --- -CoffeeScript - это небольшой язык, который компилируется один-к-одному в эквивалентный код на языке JavaScript, а потому он не интерпретируется во время исполнения JavaScript кода. +CoffeeScript - это небольшой язык, который компилируется один-в-один в эквивалентный код на языке JavaScript, а потому он не интерпретируется во время исполнения JavaScript кода. Ключевой особенностью CoffeeScript является то, что он пытается создать читабельный, качественно оформленный и плавный JavaScript код, прекрасно работающий в любой среде JavaScript. -Также загляните на официальный сайт [языка](http://coffeescript.org/), где можно найти весьма полный туториал по CoffeeScript. +Также загляните на официальный сайт [языка](http://coffeescript.org/), где можно найти весьма полное учебное пособие по CoffeeScript. ```coffeescript # CoffeeScript - язык хипстеров. -# Язык использует только самое лучшее из множества современных языков. +# Язык использует самое модное из множества современных языков. # Эти комментарии по стилю похожи на комментарии Ruby или Python, они используют "решетку" в качестве знака комментария. ### @@ -70,8 +70,8 @@ race = (winner, runners...) -> #}; # Проверка на существование объекта: -alert "Я знаю это!" if elvis? -#=> if(typeof elvis !== "undefined" && elvis !== null) { alert("Я знаю это!"); } +alert "Так и знал!" if elvis? +#=> if(typeof elvis !== "undefined" && elvis !== null) { alert("Так и знал!"); } # Понимание массивов: cubes = (math.cube num for num in list) From fb9726b7bef32fd2a94a4eca05ee7e0ba470fed7 Mon Sep 17 00:00:00 2001 From: Alex Saskevich Date: Sun, 12 Oct 2014 11:11:40 +0300 Subject: [PATCH 5/5] Update coffeescript-ru.html.markdown --- ru-ru/coffeescript-ru.html.markdown | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/ru-ru/coffeescript-ru.html.markdown b/ru-ru/coffeescript-ru.html.markdown index 9ee547a4..f8416f38 100644 --- a/ru-ru/coffeescript-ru.html.markdown +++ b/ru-ru/coffeescript-ru.html.markdown @@ -60,7 +60,7 @@ math = # "cube": function(x) { return x * square(x); } #} -# Функции: +# Многоточия: race = (winner, runners...) -> print winner, runners #=>race = function() { @@ -73,7 +73,7 @@ race = (winner, runners...) -> alert "Так и знал!" if elvis? #=> if(typeof elvis !== "undefined" && elvis !== null) { alert("Так и знал!"); } -# Понимание массивов: +# Итерации по массивам: cubes = (math.cube num for num in list) #=>cubes = (function() { # var _i, _len, _results;