From 3ea2b0b29ff004bfd4151dede0c1b55e52ea922d Mon Sep 17 00:00:00 2001
From: Boris Verkhovskiy
-قدر دان نظرات سازنده شما هستم! شما میتوانید از طریق زیر با من تماس بگیرید: -
- -[@ExcitedLeigh](https://twitter.com/ExcitedLeigh), or -[l@leigh.net.au](mailto:l@leigh.net.au). -// توضیحات همانند C هستند. توضیحات یک خطی با دو خط مورب شروع میشوند.,
diff --git a/ko-kr/javascript-kr.html.markdown b/ko-kr/javascript-kr.html.markdown index 619d8104..267b5b2f 100644 --- a/ko-kr/javascript-kr.html.markdown +++ b/ko-kr/javascript-kr.html.markdown @@ -9,18 +9,15 @@ filename: javascript-kr.js lang: ko-kr --- -자바스크립트는 넷스케이프의 브렌던 아이크(Brendan Eich)가 1995년에 만들었습니다. -원래 자바스크립트는 웹사이트를 위한 단순한 스크립트 언어를 목표로 만들어졌는데, -좀 더 복잡한 웹 애플리케이션을 만들기 위해 자바를 보완하는 역할이었지만 -웹 페이지와의 긴밀한 상호작용과 브라우저에 대한 지원 기능 덕분에 웹 프론트엔드에서 -자바보다 훨씬 더 보편적으로 쓰이게 됐습니다. +자바스크립트는 넷스케이프의 브렌던 아이크(Brendan Eich)가 1995년에 만들었습니다. +원래 자바스크립트는 웹사이트를 위한 단순한 스크립트 언어를 목표로 만들어졌는데, +좀 더 복잡한 웹 애플리케이션을 만들기 위해 자바를 보완하는 역할이었지만 +웹 페이지와의 긴밀한 상호작용과 브라우저에 대한 지원 기능 덕분에 웹 프론트엔드에서 +자바보다 훨씬 더 보편적으로 쓰이게 됐습니다. -그렇지만 자바스크립트는 웹 브라우저에만 국한되지 않습니다. 구글 크롬의 V8 자바스크립트 +그렇지만 자바스크립트는 웹 브라우저에만 국한되지 않습니다. 구글 크롬의 V8 자바스크립트 엔진을 위한 독립형 런타임을 제공하는 Node.js는 점점 인기를 얻고 있습니다. -피드백 주시면 대단히 감사하겠습니다! [@ExcitedLeigh](https://twitter.com/ExcitedLeigh)나 -[l@leigh.net.au](mailto:l@leigh.net.au)를 통해 저와 만나실 수 있습니다. - ```js // 주석은 C와 비슷합니다. 한 줄짜리 주석은 두 개의 슬래시로 시작하고, /* 여러 줄 주석은 슬래시 별표로 시작해서 @@ -30,7 +27,7 @@ lang: ko-kr doStuff(); // 하지만 꼭 그럴 필요는 없는데, 특정 경우를 제외하고 -// 새 줄이 시작할 때마다 세미콜론이 자동으로 삽입되기 때문입니다. +// 새 줄이 시작할 때마다 세미콜론이 자동으로 삽입되기 때문입니다. doStuff() // 여기서는 세미콜론을 생략하겠습니다. 세미콜론을 생략할지 여부는 @@ -57,7 +54,7 @@ doStuff() // 32비트까지 부호가 있는 int로 변환됩니다. 1 << 2 // = 4 -// 괄호를 이용하면 우선순위를 지정할 수 있습니다. +// 괄호를 이용하면 우선순위를 지정할 수 있습니다. (1 + 3) * 2 // = 8 // 실제 숫자가 아닌 특별한 세 가지 값이 있습니다. @@ -97,7 +94,7 @@ false // 그리고 <와 >로 비교할 수 있습니다. "a" < "b" // = true -// 비교 시 타입 강제변환이 수행됩니다. +// 비교 시 타입 강제변환이 수행됩니다. "5" == 5 // = true // ===를 쓰지 않는다면 말이죠. @@ -123,14 +120,14 @@ var someVar = 5 // var 키워드를 지정하지 않아도 오류는 발생하지 않습니다. someOtherVar = 10 -// 그렇지만 변수가 여러분이 정의한 유효범위가 아니라 +// 그렇지만 변수가 여러분이 정의한 유효범위가 아니라 // 전역 유효범위에 생성됩니다. -// 값을 할당하지 않은 채로 선언한 변수는 undefined로 설정됩니다. +// 값을 할당하지 않은 채로 선언한 변수는 undefined로 설정됩니다. var someThirdVar // = undefined // 변수에 수학 연산을 수행하는 축약형 표현은 다음과 같습니다. -someVar += 5 // someVar = someVar + 5;와 같음. 이제 someVar는 10. +someVar += 5 // someVar = someVar + 5;와 같음. 이제 someVar는 10. someVar *= 10 // somVar는 100 // 1을 더하거나 빼는 훨씬 더 짧은 표현도 있습니다. @@ -234,7 +231,7 @@ setTimeout(function myFunction(){ // 이 코드는 5초 내에 호출됨 }, 5000) -// 자바스크립트에는 함수 유효범위가 있습니다. +// 자바스크립트에는 함수 유효범위가 있습니다. // 함수는 자체적인 유효범위를 가지지만 다른 블록은 유효범위를 가지지 않습니다. if (true){ var i = 5 @@ -246,7 +243,7 @@ i // = 5 - 블록 유효범위를 지원하는 언어에서는 undefined가 아 (function(){ var temporary = 5 // '전역 객체'에 할당하는 식으로 전역 유효범위에 접근할 수 있는데, - // 브라우저에서 전역 객체는 항상 'window'입니다. 전역 객체는 + // 브라우저에서 전역 객체는 항상 'window'입니다. 전역 객체는 // Node.js와 같은 브라우저가 아닌 환경에서는 다른 이름일 수도 있습니다. window.permanent = 10 // 또는 앞에서 언급했다시피 var 키워드를 뺄 수도 있습니다. @@ -292,8 +289,8 @@ myObj = { } myObj.myFunc() // = "Hello world!" -// 여기서 설정한 것은 함수가 정의된 곳이 아닌 함수가 호출되는 -// 방식과 관련이 있습니다. 그래서 아래 함수는 객체 컨텍스트에서 +// 여기서 설정한 것은 함수가 정의된 곳이 아닌 함수가 호출되는 +// 방식과 관련이 있습니다. 그래서 아래 함수는 객체 컨텍스트에서 // 호출되지 않으면 동작하지 않습니다. var myFunc = myObj.myFunc myFunc() // = undefined @@ -320,8 +317,8 @@ myNewObj.myNumber // = 5 // 해당 프로퍼티를 찾습니다. // 일부 자바스크립트 구현체에서는 __proto__라는 마법의 프로퍼티로 -// 객체의 프로토타입에 접근하는 것을 허용하기도 합니다. 프로토타입을 -// 설명하기에는 이런 내용도 도움되겠지만 __proto__는 표준에 포함돼 +// 객체의 프로토타입에 접근하는 것을 허용하기도 합니다. 프로토타입을 +// 설명하기에는 이런 내용도 도움되겠지만 __proto__는 표준에 포함돼 // 있지 않습니다. 나중에 프로토타입을 사용하는 표준 방법을 살펴보겠습니다. var myObj = { myString: "Hello world!", @@ -346,18 +343,18 @@ myPrototype.__proto__ = { myObj.myBoolean // = true // 여기서 복사는 일어나지 않습니다. 각 객체에는 프로토타입에 대한 -// 참조가 보관돼 있습니다. 이는 프로토타입을 변경하면 변경사항이 +// 참조가 보관돼 있습니다. 이는 프로토타입을 변경하면 변경사항이 // 모든 곳에 반영된다는 의미입니다. myPrototype.meaningOfLife = 43 myObj.meaningOfLife // = 43 -// 앞에서 __proto__가 표준에 포함돼 있지 않다고 이야기했는데, -// 기존 객체의 프로토타입을 변경하는 표준 방법은 없습니다. +// 앞에서 __proto__가 표준에 포함돼 있지 않다고 이야기했는데, +// 기존 객체의 프로토타입을 변경하는 표준 방법은 없습니다. // 하지만 특정 프로토타입을 가지고 새로운 객체를 생성하는 두 가지 // 방법이 있습니다. -// 첫 번째 방법은 Object.create를 이용하는 것인데, -// Object.create는 최근에 자바스크립트에 추가된 것이라서 아직까지 +// 첫 번째 방법은 Object.create를 이용하는 것인데, +// Object.create는 최근에 자바스크립트에 추가된 것이라서 아직까지 // 모든 구현체에서 이용할 수 있는 것은 아닙니다. var myObj = Object.create(myPrototype) myObj.meaningOfLife // = 43 @@ -388,7 +385,7 @@ if (0){ // 0은 거짓이라서 이 코드는 실행되지 않습니다. } -// 하지만 래퍼 객체와 일반 내장 함수는 프로토타입을 공유하기 때문에 +// 하지만 래퍼 객체와 일반 내장 함수는 프로토타입을 공유하기 때문에 // 가령 문자열에 실제로 기능을 추가할 수 있습니다. String.prototype.firstCharacter = function(){ return this.charAt(0) @@ -399,7 +396,7 @@ String.prototype.firstCharacter = function(){ // 새로운 기능을 구현하는 "폴리필(polyfilling)"에 자주 이용되므로 // 오래된 버전의 브라우저와 같이 기존 환경에서 사용될 수 있습니다. -// 예를 들어, Object.create가 모든 구현체에서 사용 가능한 것은 아니라고 +// 예를 들어, Object.create가 모든 구현체에서 사용 가능한 것은 아니라고 // 했지만 아래의 폴리필을 이용해 Object.create를 여전히 사용할 수 있습니다. if (Object.create === undefined){ // 이미 존재하면 덮어쓰지 않음 Object.create = function(proto){ @@ -415,19 +412,19 @@ if (Object.create === undefined){ // 이미 존재하면 덮어쓰지 않음 ## 기타 참고 자료 -[모질라 개발자 네트워크](https://developer.mozilla.org/en-US/docs/Web/JavaScript)에서는 -자바스크립트에 대한 훌륭한 문서를 제공합니다. 더불어 위키 형식이라서 좀 더 많은 사항을 +[모질라 개발자 네트워크](https://developer.mozilla.org/en-US/docs/Web/JavaScript)에서는 +자바스크립트에 대한 훌륭한 문서를 제공합니다. 더불어 위키 형식이라서 좀 더 많은 사항을 배우게 되면 여러분만의 지식을 공유함으로써 다른 사람들에게 도움을 줄 수도 있습니다. -MDN의 ['자바스크립트 재입문'](https://developer.mozilla.org/ko/docs/A_re-introduction_to_JavaScript)에서는 -여기서 다룬 개념의 상당수를 더욱 자세히 다루고 있습니다. 이 자료에서는 자바스크립트 언어 자체에 -대해서만 상당히 신중하게 다뤘습니다. 웹 페이지에서 자바스크립트를 사용하는 방법을 배우고 싶다면 -[문서 객체 모델(Document Object Model)](https://developer.mozilla.org/en-US/docs/Using_the_W3C_DOM_Level_1_Core)에 +MDN의 ['자바스크립트 재입문'](https://developer.mozilla.org/ko/docs/A_re-introduction_to_JavaScript)에서는 +여기서 다룬 개념의 상당수를 더욱 자세히 다루고 있습니다. 이 자료에서는 자바스크립트 언어 자체에 +대해서만 상당히 신중하게 다뤘습니다. 웹 페이지에서 자바스크립트를 사용하는 방법을 배우고 싶다면 +[문서 객체 모델(Document Object Model)](https://developer.mozilla.org/en-US/docs/Using_the_W3C_DOM_Level_1_Core)에 관해 배우는 것으로 시작하길 바랍니다. [자바스크립트 가든](http://bonsaiden.github.io/JavaScript-Garden/)에서는 자바스크립트 언어에서 직관에 어긋나는 모든 부분들을 심도 있게 다룹니다. -더불어 이 글에 직접적으로 기여한 분들로, 내용 중 일부는 이 사이트에 있는 -루이 딘(Louie Dihn)의 파이썬 튜토리얼과 모질라 개발자 네트워크에 있는 +더불어 이 글에 직접적으로 기여한 분들로, 내용 중 일부는 이 사이트에 있는 +루이 딘(Louie Dihn)의 파이썬 튜토리얼과 모질라 개발자 네트워크에 있는 [자바스크립트 튜토리얼](https://developer.mozilla.org/en-US/docs/Web/JavaScript/A_re-introduction_to_JavaScript)을 참고했습니다. diff --git a/matlab.html.markdown b/matlab.html.markdown index 07f73cfb..ddf79f05 100644 --- a/matlab.html.markdown +++ b/matlab.html.markdown @@ -10,10 +10,6 @@ contributors: MATLAB stands for MATrix LABoratory. It is a powerful numerical computing language commonly used in engineering and mathematics. -If you have any feedback please feel free to reach me at -[@the_ozzinator](https://twitter.com/the_ozzinator), or -[osvaldo.t.mendoza@gmail.com](mailto:osvaldo.t.mendoza@gmail.com). - ```matlab %% Code sections start with two percent signs. Section titles go on the same line. % Comments start with a percent sign. @@ -49,42 +45,42 @@ plot(A); % commands can be passed to the operating system !ping google.com -who % Displays all variables in memory -whos % Displays all variables in memory, with their types -clear % Erases all your variables from memory -clear('A') % Erases a particular variable +who % Displays all variables in memory +whos % Displays all variables in memory, with their types +clear % Erases all your variables from memory +clear('A') % Erases a particular variable openvar('A') % Open variable in variable editor -clc % Erases the writing on your Command Window -diary % Toggle writing Command Window text to file +clc % Erases the writing on your Command Window +diary % Toggle writing Command Window text to file ctrl-c % Abort current computation edit('myfunction.m') % Open function/script in editor type('myfunction.m') % Print the source of function/script to Command Window -profile on % turns on the code profiler -profile off % turns off the code profiler -profile viewer % Open profiler +profile on % turns on the code profiler +profile off % turns off the code profiler +profile viewer % Open profiler -help command % Displays documentation for command in Command Window -doc command % Displays documentation for command in Help Window -lookfor command % Searches for command in the first commented line of all functions +help command % Displays documentation for command in Command Window +doc command % Displays documentation for command in Help Window +lookfor command % Searches for command in the first commented line of all functions lookfor command -all % searches for command in all functions % Output formatting -format short % 4 decimals in a floating number -format long % 15 decimals -format bank % only two digits after decimal point - for financial calculations +format short % 4 decimals in a floating number +format long % 15 decimals +format bank % only two digits after decimal point - for financial calculations fprintf('text') % print "text" to the screen -disp('text') % print "text" to the screen +disp('text') % print "text" to the screen % Variables & Expressions -myVariable = 4 % Notice Workspace pane shows newly created variable +myVariable = 4 % Notice Workspace pane shows newly created variable myVariable = 4; % Semi colon suppresses output to the Command Window -4 + 6 % ans = 10 -8 * myVariable % ans = 32 -2 ^ 3 % ans = 8 +4 + 6 % ans = 10 +8 * myVariable % ans = 32 +2 ^ 3 % ans = 8 a = 2; b = 3; c = exp(a)*sin(pi/2) % c = 7.3891 @@ -92,7 +88,7 @@ c = exp(a)*sin(pi/2) % c = 7.3891 % Standard function syntax: load('myFile.mat', 'y') % arguments within parentheses, separated by commas % Command syntax: -load myFile.mat y % no parentheses, and spaces instead of commas +load myFile.mat y % no parentheses, and spaces instead of commas % Note the lack of quote marks in command form: inputs are always passed as % literal text - cannot pass variable values. Also, can't receive output: [V,D] = eig(A); % this has no equivalent in command form @@ -338,8 +334,8 @@ load('myFileName.mat') % Load saved variables into Workspace % Function name should match file name (so save this example as double_input.m). % 'help double_input.m' returns the comments under line beginning function function output = double_input(x) - %double_input(x) returns twice the value of x - output = 2*x; + %double_input(x) returns twice the value of x + output = 2*x; end double_input(6) % ans = 12 @@ -375,23 +371,23 @@ fprintf % Print to Command Window with more control % Conditional statements (the parentheses are optional, but good style) if (a > 23) - disp('Greater than 23') + disp('Greater than 23') elseif (a == 23) - disp('a is 23') + disp('a is 23') else - disp('neither condition met') + disp('neither condition met') end % Looping % NB. looping over elements of a vector/matrix is slow! % Where possible, use functions that act on whole vector/matrix at once for k = 1:5 - disp(k) + disp(k) end k = 0; while (k < 5) - k = k + 1; + k = k + 1; end % Timing code execution: 'toc' prints the time since 'tic' was called @@ -435,11 +431,11 @@ randi % Uniformly distributed pseudorandom integers randn % Normally distributed pseudorandom numbers %Complex math operations -abs(x) % Magnitude of complex variable x +abs(x) % Magnitude of complex variable x phase(x) % Phase (or angle) of complex variable x real(x) % Returns the real part of x (i.e returns a if x = a +jb) imag(x) % Returns the imaginary part of x (i.e returns b if x = a+jb) -conj(x) % Returns the complex conjugate +conj(x) % Returns the complex conjugate % Common constants @@ -496,23 +492,23 @@ median % median value mean % mean value std % standard deviation perms(x) % list all permutations of elements of x -find(x) % Finds all non-zero elements of x and returns their indexes, can use comparison operators, +find(x) % Finds all non-zero elements of x and returns their indexes, can use comparison operators, % i.e. find( x == 3 ) returns indexes of elements that are equal to 3 % i.e. find( x >= 3 ) returns indexes of elements greater than or equal to 3 % Classes -% MATLAB can support object-oriented programming. -% Classes must be put in a file of the class name with a .m extension. +% MATLAB can support object-oriented programming. +% Classes must be put in a file of the class name with a .m extension. % To begin, we create a simple class to store GPS waypoints. % Begin WaypointClass.m classdef WaypointClass % The class name. properties % The properties of the class behave like Structures - latitude - longitude + latitude + longitude end - methods - % This method that has the same name of the class is the constructor. + methods + % This method that has the same name of the class is the constructor. function obj = WaypointClass(lat, lon) obj.latitude = lat; obj.longitude = lon; @@ -543,12 +539,12 @@ a.longitude = 25.0 % Methods can be called in the same way as functions ans = multiplyLatBy(a,3) -% The method can also be called using dot notation. In this case, the object +% The method can also be called using dot notation. In this case, the object % does not need to be passed to the method. ans = a.multiplyLatBy(1/3) -% MATLAB functions can be overloaded to handle objects. -% In the method above, we have overloaded how MATLAB handles +% MATLAB functions can be overloaded to handle objects. +% In the method above, we have overloaded how MATLAB handles % the addition of two Waypoint objects. b = WaypointClass(15.0, 32.0) c = a + b @@ -560,4 +556,3 @@ c = a + b * [The official MATLAB Answers forum](http://www.mathworks.com/matlabcentral/answers/) * [Loren on the Art of MATLAB](http://blogs.mathworks.com/loren/) * [Cleve's Corner](http://blogs.mathworks.com/cleve/) - diff --git a/pt-br/javascript-pt.html.markdown b/pt-br/javascript-pt.html.markdown index e38804f3..c5be649d 100644 --- a/pt-br/javascript-pt.html.markdown +++ b/pt-br/javascript-pt.html.markdown @@ -16,13 +16,9 @@ integração com páginas web e seu suporte nativo nos browsers fez com que ela se tornasse mais comum que Java no frontend web. Javascript não é somente limitada a browsers web, existindo o Node.js, -que é um projeto que fornece um interpretador baseado no motor V8 do Google +que é um projeto que fornece um interpretador baseado no motor V8 do Google Chrome e está se tornando cada vez mais famoso. -Feedback são muito apreciados! Você me encontrar em -[@ExcitedLeigh](https://twitter.com/ExcitedLeigh), ou -[l@leigh.net.au](mailto:l@leigh.net.au). - ```js // Comentários são como em C. Comentários de uma linha começam com duas barras, /* e comentários de múltiplas linhas começam com barra-asterisco @@ -35,7 +31,7 @@ facaAlgo(); // inserido quando há uma nova linha, exceto alguns casos. facaAlgo() -// Como esses casos podem causar resultados inesperados, vamos continuar +// Como esses casos podem causar resultados inesperados, vamos continuar // a usar ponto-e-vírgula neste guia. /////////////////////////////////// @@ -107,7 +103,7 @@ null == undefined; // = true // ...a menos que use === "5" === 5; // = false -null === undefined; // = false +null === undefined; // = false // ...isso pode resultar em comportamentos estranhos... 13 + !0; // 14 @@ -134,7 +130,7 @@ undefined; // usado para indicar um valor que não é a atualmente definido /////////////////////////////////// // 2. Variáveis, Arrays e Objetos -// Variáveis são declaradas com a palavra-chave `var`. O Javascript é +// Variáveis são declaradas com a palavra-chave `var`. O Javascript é // dinâmicamente tipado, portanto você não precisa especificar o tipo. // Atribuições usam um simples caracter de `=`. var someVar = 5; @@ -185,7 +181,7 @@ myObj["my other key"]; // = 4 // válido. myObj.myKey; // = "myValue" -// Objetos são mutáveis, valores podem ser modificados e novas chaves +// Objetos são mutáveis, valores podem ser modificados e novas chaves // adicionadas. myObj.myThirdKey = true; @@ -265,8 +261,8 @@ function myFunction(thing){ myFunction("foo"); // = "FOO" // Repare que o valor a ser retornado deve começar na mesma linha que -// a palavra-chave `return`, senão você sempre irá retornar `undefined` -// visto que o ponto-e-vírgula é inserido automáticamente nas quebras de +// a palavra-chave `return`, senão você sempre irá retornar `undefined` +// visto que o ponto-e-vírgula é inserido automáticamente nas quebras de // linha. Preste atenção quando usar o estilo Allman. function myFunction() { @@ -287,21 +283,21 @@ setTimeout(myFunction, 5000); // Nota: `setTimeout` não é parte da linguagem Javascript, mas é provido pelos // browsers e o Node.js. -// Objetos de funções não precisam nem serem declarados com nome - você pode -// escrever a definição de uma função anônima diretamente nos argumentos de +// Objetos de funções não precisam nem serem declarados com nome - você pode +// escrever a definição de uma função anônima diretamente nos argumentos de // outra função. setTimeout(function(){ // este código será chamado em 5 segundos }, 5000); -// O Javascript tem escopo de função; as funções tem seu próprio escopo, +// O Javascript tem escopo de função; as funções tem seu próprio escopo, // mas outros blocos não. if (true){ var i = 5; } i; // = 5 - não `undefined` como você esperaria numa linguagem de blogo-escopo -// Isso levou a padrão comum chamado de IIFE (Imediately Invoked Function +// Isso levou a padrão comum chamado de IIFE (Imediately Invoked Function // Expression) ou (Expressão de Função Invocada Imediatamente), que previne // que variáveis temporárias vazem para o escopo global. (function(){ @@ -322,7 +318,7 @@ function sayHelloInFiveSeconds(name){ var prompt = "Hello, " + name + "!"; // Funções internas são colocadas no escopo local por padrão, assim como - // se fossem declaradas com `var`. + // se fossem declaradas com `var`. function inner(){ alert(prompt); } @@ -347,7 +343,7 @@ var myObj = { myObj.myFunc(); // = "Olá mundo!" // Quando uma função ligada a um objeto é chamada, ela pode acessar o objeto -// da qual foi ligada usando a palavra-chave `this`. +// da qual foi ligada usando a palavra-chave `this`. myObj = { myString: "Olá mundo!", myFunc: function(){ @@ -356,7 +352,7 @@ myObj = { }; myObj.myFunc(); // = "Olá mundo!" -// O `this` só funciona para dentro do escopo do objeto, portanto, se chamarmos +// O `this` só funciona para dentro do escopo do objeto, portanto, se chamarmos // um método do objeto fora de seu escopo, este não irá funcionar. var myFunc = myObj.myFunc; myFunc(); // = undefined @@ -369,7 +365,7 @@ var myOtherFunc = function(){ myObj.myOtherFunc = myOtherFunc; myObj.myOtherFunc(); // = "OLÁ MUNDO!" -// Nós podemos também especificar um contexto onde a função irá executar, +// Nós podemos também especificar um contexto onde a função irá executar, // usando o `call` ou `apply`. var anotherFunc = function(s){ @@ -389,7 +385,7 @@ Math.min(42, 6, 27); // = 6 Math.min([42, 6, 27]); // = NaN (uh-oh!) Math.min.apply(Math, [42, 6, 27]); // = 6 -// Mas, o `call` e `apply` são somente temporários. Quando você quiser que +// Mas, o `call` e `apply` são somente temporários. Quando você quiser que // permaneça sempre no escopo, use `bind`. var boundFunc = anotherFunc.bind(myObj); @@ -402,7 +398,7 @@ var doubler = product.bind(this, 2); doubler(8); // = 16 // Quando você invoca uma função com a palavra-chave `new`, um novo objeto -// é criado, e fica disponível para a função pela palavra-chave `this`. +// é criado, e fica disponível para a função pela palavra-chave `this`. // Funções são desenhadas para serem invocadas como se invocam os construtores. var MyConstructor = function(){ @@ -411,13 +407,13 @@ var MyConstructor = function(){ myNewObj = new MyConstructor(); // = {myNumber: 5} myNewObj.myNumber; // = 5 -// Todo objeto JavaScript possui um `prototype`. Quando você tenta acessar +// Todo objeto JavaScript possui um `prototype`. Quando você tenta acessar // uma propriedade de um objeto que não existe no objeto atual, o interpretador // vai olhar imediatamente para o seu prototype. -// Algumas implementações em JS deixam você acessar o objeto prototype com a -// propriedade mágica `__proto__`. Enquanto isso é útil para explicar -// prototypes, não é parte de um padrão; nós vamos falar de algumas formas de +// Algumas implementações em JS deixam você acessar o objeto prototype com a +// propriedade mágica `__proto__`. Enquanto isso é útil para explicar +// prototypes, não é parte de um padrão; nós vamos falar de algumas formas de // usar prototypes depois. var myObj = { @@ -436,7 +432,7 @@ myObj.meaningOfLife; // = 42 // Isto funciona para funções, também. myObj.myFunc(); // = "olá mundo!" -// É claro, se sua propriedade não está em seu prototype, +// É claro, se sua propriedade não está em seu prototype, // o prototype do prototype será procurado e por aí vai. myPrototype.__proto__ = { myBoolean: true @@ -450,8 +446,8 @@ myPrototype.meaningOfLife = 43; myObj.meaningOfLife; // = 43 -// Nós mencionamos que o `__proto__` não é uma forma padrão, e não há uma -// forma padrão de mudar o prototype de um objeto já existente. Entretanto, +// Nós mencionamos que o `__proto__` não é uma forma padrão, e não há uma +// forma padrão de mudar o prototype de um objeto já existente. Entretanto, // existem duas formas de se criar um objeto com um dado prototype. // A primeira forma é `Object.create`, que é uma adição recente do JS, @@ -475,7 +471,7 @@ myNewObj2.myNumber = 6 myNewObj2.getMyNumber(); // = 6 // Tipos originais da linguagem como strings e números também possuem -// construtores equivalentes. +// construtores equivalentes. var myNumber = 12; var myNumberObj = new Number(12); myNumber == myNumberObj; // = true @@ -500,7 +496,7 @@ String.prototype.firstCharacter = function(){ // uma nova característica do Javascript em uma versão mais velha, para que // assim funcionem em ambientes mais velhos como browsers ultrapassados. -// Havíamos mencionado que `Object.create` não estava ainda disponível em +// Havíamos mencionado que `Object.create` não estava ainda disponível em // todos as implementações, mas nós podemos usá-lo com esse polyfill: if (Object.create === undefined){ // Não o sobrescreve se já existir Object.create = function(proto){ @@ -517,12 +513,11 @@ if (Object.create === undefined){ // Não o sobrescreve se já existir O [Mozilla Developer Network](https://developer.mozilla.org/pt-BR/docs/Web/JavaScript) dispõe de uma -excelente documentação sobre Javascript e seu uso nos browsers. E mais, +excelente documentação sobre Javascript e seu uso nos browsers. E mais, é uma wiki, portanto conforme você vai aprendendo, mais você pode ir ajudando os outros compartilhando do seu conhecimento. -[Uma re-introdução do JavaScript pela MDN] -(https://developer.mozilla.org/pt-BR/docs/Web/JavaScript/A_re-introduction_to_JavaScript) +[Uma re-introdução do JavaScript pela MDN](https://developer.mozilla.org/pt-BR/docs/Web/JavaScript/A_re-introduction_to_JavaScript) cobre muito dos conceitos abordados aqui em mais detalhes. Este guia fala somente sobre a linguagem JavaScript em si; se você quiser aprender mais sobre e como usar o JavaScript em páginas na web, comece aprendendo sobre @@ -532,11 +527,11 @@ Model](https://developer.mozilla.org/en-US/docs/Using_the_W3C_DOM_Level_1_Core) [Aprenda Javascript por Exemplos e com Desafios](http://www.learneroo.com/modules/64/nodes/350) é uma variação desse guia com desafios. -[JavaScript Garden](http://bonsaiden.github.io/JavaScript-Garden/) é um guia +[JavaScript Garden](http://bonsaiden.github.io/JavaScript-Garden/) é um guia profundo de todas as partes do JavaScript. [JavaScript: The Definitive Guide](http://www.amazon.com/gp/product/0596805527/) é o guia clássico -/ livro de referência. +/ livro de referência. Parte desse artigo foi adaptado do tutorial de Python do Louie Dinh que está nesse site e do [Tutorial de JS](https://developer.mozilla.org/pt-BR/docs/Web/JavaScript/A_re-introduction_to_JavaScript) diff --git a/pt-br/matlab-pt.html.markdown b/pt-br/matlab-pt.html.markdown index cd300f39..7da4aea4 100644 --- a/pt-br/matlab-pt.html.markdown +++ b/pt-br/matlab-pt.html.markdown @@ -8,15 +8,10 @@ translators: - ["Claudson Martins", "https://github.com/claudsonm"] lang: pt-br filename: learnmatlab-pt.mat - --- MATLAB significa MATrix LABoratory. É uma poderosa linguagem de computação numérica geralmente utilizada em engenharia e matemática. -Se você tem algum feedback, por favor fique a vontade para me contactar via -[@the_ozzinator](https://twitter.com/the_ozzinator), ou -[osvaldo.t.mendoza@gmail.com](mailto:osvaldo.t.mendoza@gmail.com). - ```matlab % Comentários iniciam com um sinal de porcentagem @@ -485,10 +480,10 @@ perms(x) % Lista todas as permutações de elementos de x % Início ClassePosicoesGPS.m classdef ClassePosicoesGPS % O nome da classe. properties % As propriedades da classe comportam-se como estruturas - latitude - longitude + latitude + longitude end - methods + methods % Este método que tem o mesmo nome da classe é o construtor. function obj = ClassePosicoesGPS(lat, lon) obj.latitude = lat; @@ -535,4 +530,3 @@ c = a + b * O site oficial [http://http://www.mathworks.com/products/matlab/](http://www.mathworks.com/products/matlab/) * O fórum oficial de respostas: [http://www.mathworks.com/matlabcentral/answers/](http://www.mathworks.com/matlabcentral/answers/) - diff --git a/ta-in/javascript-ta.html.markdown b/ta-in/javascript-ta.html.markdown index 539218a6..f7fd282e 100644 --- a/ta-in/javascript-ta.html.markdown +++ b/ta-in/javascript-ta.html.markdown @@ -4,7 +4,7 @@ contributors: - ['Leigh Brenecki', 'https://leigh.net.au'] - ['Ariel Krakowski', 'http://www.learneroo.com'] translators: - - ["Rasendran Kirushan", "https://github.com/kirushanr"] + - ["Rasendran Kirushan", "https://github.com/kirushanr"] filename: javascript-ta.js lang: ta-in --- @@ -12,37 +12,33 @@ lang: ta-in javascript 1995 ஆம் ஆண்டு Netscape இல் பணிபுரிந்த Brendan Eich என்பவரால் உருவாக்கபட்டது.ஆரம்பத்தில் மிகவும் எளிமையான ஸ்க்ரிப்டிங் மொழியாக இணையதளங்களில் பயன்படுத்தபட்டது. -இது ஜாவா (java ) வில் உருவாக்கபட்ட மிகவும் சிக்கலான இணைய செயலிகளுக்கு -உதவும் முகமாக உருவாக்கபட்டது. எனினும் இணையதள பக்கங்களில் இதன் முழுதான பயன்பாடு -மற்றும் உலாவிகளில் பயன்படுத்த கூடிய வகையில் இருந்தமையாலும் Java வை விட +இது ஜாவா (java ) வில் உருவாக்கபட்ட மிகவும் சிக்கலான இணைய செயலிகளுக்கு +உதவும் முகமாக உருவாக்கபட்டது. எனினும் இணையதள பக்கங்களில் இதன் முழுதான பயன்பாடு +மற்றும் உலாவிகளில் பயன்படுத்த கூடிய வகையில் இருந்தமையாலும் Java வை விட இணையதளகளின் முகப்பு உருவாக்கத்தில் இன்றளவில் முன்னிலை பெற்றுள்ளது. -உலாவிகளுக்கு மட்டும் மட்டுபடுத்தபடவில்லை , Node.js மூலமாக -மிகவும் பிரபல்யமடைந்து வருகின்றது , உதாரணமாக கூகிள்க்ரோம் உலாவியின் +உலாவிகளுக்கு மட்டும் மட்டுபடுத்தபடவில்லை , Node.js மூலமாக +மிகவும் பிரபல்யமடைந்து வருகின்றது , உதாரணமாக கூகிள்க்ரோம் உலாவியின் V8 JavaScript engine Node .js உதவியுடன் இயங்குகிறது . -உங்கள் கருத்துக்கள் மிகவும் வரவேற்கபடுகின்றன , என்னுடன் தொடர்புகொள்ள -[@ExcitedLeigh](https://twitter.com/ExcitedLeigh), or -[l@leigh.net.au](mailto:l@leigh.net.au). - ```js -// குறிப்புக்கள் C நிரலாக்கத்தை ஒத்தது .ஒரு வரி குறிப்புக்கள் "//" குறியீடுடன் ஆரம்பமாகும் +// குறிப்புக்கள் C நிரலாக்கத்தை ஒத்தது .ஒரு வரி குறிப்புக்கள் "//" குறியீடுடன் ஆரம்பமாகும் /* பலவரி குறிப்புக்கள் "/*" ஆரம்பமாகி "/*" இல் முடிவடையும் */ // ஒரு கூற்று முற்றுபெற செய்ய ; இடல் வேண்டும் . doStuff(); -// ...ஆனால் அரைபுள்ளி இட வேண்டும் என்று அவசியம் இல்லை ஏன் எனில் +// ...ஆனால் அரைபுள்ளி இட வேண்டும் என்று அவசியம் இல்லை ஏன் எனில் // ஒரு வரி புதிதாக இடப்படும் போது அரைபுள்ளிகள் தானாகவே இடப்படும் ஆனால் சில தருணங்களை தவிர . doStuff() -// ஆனால் அவ்வாறான தருணங்கள் எதிர்பாராத முடிவுகளை தரலாம் +// ஆனால் அவ்வாறான தருணங்கள் எதிர்பாராத முடிவுகளை தரலாம் // எனவே நாம் தொடர்ந்து ஒரு கூற்று நிறைவடையும் போது அரைபுள்ளி ஒன்றை இடுவோம் . /////////////////////////////////// -// 1. எண்கள்(Number) ,சரம் (String),செயற்குறிகள்(Operators) +// 1. எண்கள்(Number) ,சரம் (String),செயற்குறிகள்(Operators) // JavaScript ஒரே ஒரு எண்வகை காணப்படுகிறது தசமி (which is a 64-bit IEEE 754 double). // தசமி எண்வகை (Doubles) 2^ 52 வரை சேமிக்க கூடியது @@ -50,7 +46,7 @@ doStuff() 3; // = 3 1.5; // = 1.5 -// அடிப்படை கணித பொறிமுறைகள் +// அடிப்படை கணித பொறிமுறைகள் 1 + 1; // = 2 0.1 + 0.2; // = 0.30000000000000004 8 - 1; // = 7 @@ -61,29 +57,29 @@ doStuff() 5 / 2; // = 2.5 -//bitwise பொறிமுறையை உபயோகிக்கும் போது -//உங்கள் தசம எண்ணின் பெறுமானமானது ஒரு நேர் அல்லது மறை அல்லது பூசியமாகவுள்ள முழு எண்ணாக -//மாற்றம் பெறுகிறது இது 32 இருமம்(bit) வரை செல்லலாம் +//bitwise பொறிமுறையை உபயோகிக்கும் போது +//உங்கள் தசம எண்ணின் பெறுமானமானது ஒரு நேர் அல்லது மறை அல்லது பூசியமாகவுள்ள முழு எண்ணாக +//மாற்றம் பெறுகிறது இது 32 இருமம்(bit) வரை செல்லலாம் 1 << 2; // = 4 -// நிரலாக்கத்தில் செயலியை அமுல்படுத்தும் வரிசைமுறையில் அடைப்பு குறிக்கு முன்னிலை வழங்கபடுகிறது +// நிரலாக்கத்தில் செயலியை அமுல்படுத்தும் வரிசைமுறையில் அடைப்பு குறிக்கு முன்னிலை வழங்கபடுகிறது (1 + 3) * 2; // = 8 // மெய் எண் அல்லாத மூன்றுபெறுமானங்கள் உள்ளன : Infinity; // result of e.g. 1/0 -Infinity; // result of e.g. -1/0 -NaN; // result of e.g. 0/0, இது எண் அல்ல என்பதை குறிக்கும் +NaN; // result of e.g. 0/0, இது எண் அல்ல என்பதை குறிக்கும் // தர்க ரீதியில் ஆன கட்டமைப்பு காணப்படுகிறது . true; false; -// சரம் (string) ' அல்லது " குறியீட்டினால் உருவாக்கபடுகிறது +// சரம் (string) ' அல்லது " குறியீட்டினால் உருவாக்கபடுகிறது 'abc'; "Hello, world"; -// ஒரு boolean பெறுமானத்தின் எதிர்மறை பெறுமானத்தை பெற ! குறியீடு பயன்படுத்தபடுகிறது +// ஒரு boolean பெறுமானத்தின் எதிர்மறை பெறுமானத்தை பெற ! குறியீடு பயன்படுத்தபடுகிறது !true; // = false !false; // = true @@ -95,7 +91,7 @@ false; 1 !== 1; // = false 2 !== 1; // = true -// மேலும் சில ஒப்பீடுகள் +// மேலும் சில ஒப்பீடுகள் 1 < 10; // = true 1 > 10; // = false 2 <= 2; // = true @@ -107,15 +103,15 @@ false; // இரண்டு மாறிகளை/பெறுமானங்களை ஒப்பிட < and > "a" < "b"; // = true -// இரண்டு பெறுமானங்கள் / மாறிகள் ஒரேவகையை சேர்ந்தவையா என பார்க்க +// இரண்டு பெறுமானங்கள் / மாறிகள் ஒரேவகையை சேர்ந்தவையா என பார்க்க "5" == 5; // = true null == undefined; // = true // ...இல்லாவிடின் === "5" === 5; // = false -null === undefined; // = false +null === undefined; // = false -// ...கிழே உள்ள கூற்றுகள் எதிர்பாராத +// ...கிழே உள்ள கூற்றுகள் எதிர்பாராத வெளியீடுகளை தரலாம் ... 13 + !0; // 14 "13" + !0; // '13true' @@ -127,11 +123,11 @@ null === undefined; // = false //... ஒரு சரத்தை(string ) சொற்களாக பிரிக்க (substring) `substring "Hello world".substring(0, 5); // = "Hello" -// `length` ஒரு சரத்தில்(string) உள்ள சொற்களின் எண்ணிக்கை அல்லது நீளத்தை(length)அறிய +// `length` ஒரு சரத்தில்(string) உள்ள சொற்களின் எண்ணிக்கை அல்லது நீளத்தை(length)அறிய "Hello".length; // = 5 // `null` மற்றும் `undefined` இரு பெறுமானங்கள் உள்ளன . -null; // மதிப்பு அற்ற ஒரு பெறுமானத்தை குறிக்கும் +null; // மதிப்பு அற்ற ஒரு பெறுமானத்தை குறிக்கும் undefined; // பெறுமானம் இன்னும் நிர்ணயிக்க படவில்லை என்பதை குறிக்கும் ( // `undefined` இருப்பினும் இதுவும் ஒரு பெறுமானமாக கருதபடுகிறது ) @@ -142,35 +138,35 @@ undefined; // பெறுமானம் இன்னும் நிர்ண // 2. மாறிகள் (Variables),அணிகள் (Arrays) மற்றும் பொருட்கள் (Objects) // மாறிகளை உருவாக்க `var ` என்னும் குறியீட்டு சொல் (keyword ) பயன்படுகிறது . -//உருவாக்கப்படும் மாறிகள் எந்த வகையை சார்ந்தன என்பதை JavaScript -//தானாகவே நிர்ணயிக்கும் . மாறிக்கு ஒரு பெறுமானத்தை வழங்க `=` பாவிக்க +//உருவாக்கப்படும் மாறிகள் எந்த வகையை சார்ந்தன என்பதை JavaScript +//தானாகவே நிர்ணயிக்கும் . மாறிக்கு ஒரு பெறுமானத்தை வழங்க `=` பாவிக்க var someVar = 5; -// //நீங்கள் மாறிகளை நிறுவ 'var' குறியீட்டு சொல்லை பயன்படுத்தா விடினும் +// //நீங்கள் மாறிகளை நிறுவ 'var' குறியீட்டு சொல்லை பயன்படுத்தா விடினும் //அது தவறில்லை ... someOtherVar = 10; -// ...ஆனால் நீங்கள் நிறுவிய மாறி(variable) எல்லா உங்கள் ப்ரோக்ராம் இன் சகல இடங்களிலும் -//அணுக கூடியதாய் அமையும் , இல்லாவிடின் அது ஒரு குறிபிட்ட இடத்திற்கு மட்டும் +// ...ஆனால் நீங்கள் நிறுவிய மாறி(variable) எல்லா உங்கள் ப்ரோக்ராம் இன் சகல இடங்களிலும் +//அணுக கூடியதாய் அமையும் , இல்லாவிடின் அது ஒரு குறிபிட்ட இடத்திற்கு மட்டும் //மட்டுபடுத்தபடும் . -//பெறுமானம் வழங்கபடாத மாறிகளுக்கு ,இயல்பாக/தானாக undefined என்ற பெறுமானம் -//வழங்கப்படும் +//பெறுமானம் வழங்கபடாத மாறிகளுக்கு ,இயல்பாக/தானாக undefined என்ற பெறுமானம் +//வழங்கப்படும் var someThirdVar; // = undefined // மாறிகளில் கணித செயல்பாடுகளை நடத்த சுருக்கெழுத்து முறைகள் காணப்படுகின்றன : someVar += 5; // இது someVar = someVar + 5; ஐ ஒத்தது someVar இன் பெறுமானம் இப்போது 10 someVar *= 10; // someVar இன் பெறுமானம் இப்போது 100 -//மிகவும் சுருக்கமான சுருகேழுத்து முறை கூட்டல் அல்லது கழித்தல் செயன்முறையை -//மேற்கொள்ள +//மிகவும் சுருக்கமான சுருகேழுத்து முறை கூட்டல் அல்லது கழித்தல் செயன்முறையை +//மேற்கொள்ள someVar++; // someVar இன் பெறுமானம் இப்போது is 101 someVar--; // someVar இன் பெறுமானம் இப்போது 100 -// அணிகள்(Arrays) எல்லாவகையான பெறுமானங்களையும் உள்ளடக்க கூடியது +// அணிகள்(Arrays) எல்லாவகையான பெறுமானங்களையும் உள்ளடக்க கூடியது var myArray = ["Hello", 45, true]; -// அணிகள்(Arrays) உறுப்பினர்கள் சதுர அடைப்புக்குறிக்குள் அதன் தான இலக்கத்தை கொண்டு +// அணிகள்(Arrays) உறுப்பினர்கள் சதுர அடைப்புக்குறிக்குள் அதன் தான இலக்கத்தை கொண்டு //அணுகமுடியும் . // அணிகளில் உள்ள உறுப்புகள் 0 இருந்து ஆரம்பமாகும் . myArray[1]; // = 45 @@ -182,47 +178,47 @@ myArray.length; // = 4 // அணியில்(Array) ஒரு குறிப்பிட்ட இடத்தில உள்ள பெறுமானத்தை மாற்ற . myArray[3] = "Hello"; -// JavaScript's பொருள் (objects) அகராதியை ஒத்தன -// ஒழுங்கு படுத்த படாத சேகரிப்பு (collection) ஆகும் இதில் ஒரு சாவியும்(key) +// JavaScript's பொருள் (objects) அகராதியை ஒத்தன +// ஒழுங்கு படுத்த படாத சேகரிப்பு (collection) ஆகும் இதில் ஒரு சாவியும்(key) //அதுக்குரிய பெறுமானமும்(value) காணப்படும் . var myObj = {key1: "Hello", key2: "World"}; // விசைகள் சரங்களை, ஆனால் அவர்கள் சரியான என்றால் மேற்கோள் அவசியம் இல்லை //சாவிகளை உ.ம் : "key" என நிறுவலாம் ஆனால் , மேற்கோள் ஆனது சாவி முன்பே நிறுவபட்டிருப்பின் -//அவசியம் இல்லை -// சாவிகளுக்குரிய பெறுமானங்கள் எந்த வகையாகவும் இருக்கலாம் +//அவசியம் இல்லை +// சாவிகளுக்குரிய பெறுமானங்கள் எந்த வகையாகவும் இருக்கலாம் var myObj = {myKey: "myValue", "my other key": 4}; -//பொருள் பண்புகளை சதுர அடைப்புக்குறிக்குள் அதன் சாவியின் பெயரை (key) கொண்டு +//பொருள் பண்புகளை சதுர அடைப்புக்குறிக்குள் அதன் சாவியின் பெயரை (key) கொண்டு //அணுகமுடியும் , myObj["my other key"]; // = 4 // ... அல்லது புள்ளி குறியீட்டை பயன்படுத்தி ,சாவியின் (key is a valid identifier) -//பெயர் மூலம் அணுக முடியும் +//பெயர் மூலம் அணுக முடியும் myObj.myKey; // = "myValue" -// பொருட்கள்(ஒப்ஜெக்ட்ஸ்) மாற்றபடகூடியான சாவிகளின் பெறுமதிகளை மாற்ற முடியும் அத்துடன் புதிய -//சாவிகளை(keys) இடவும் முடியும் +// பொருட்கள்(ஒப்ஜெக்ட்ஸ்) மாற்றபடகூடியான சாவிகளின் பெறுமதிகளை மாற்ற முடியும் அத்துடன் புதிய +//சாவிகளை(keys) இடவும் முடியும் myObj.myThirdKey = true; -//பெறுமதி வரையறுக்கபடாத ஒரு சாவியினை அணுகும் போது +//பெறுமதி வரையறுக்கபடாத ஒரு சாவியினை அணுகும் போது //அது வெளியிடும் பெறுமதி `undefined`. myObj.myFourthKey; // = undefined /////////////////////////////////// // 3. தர்க்கம் மற்றும் கட்டுப்பாட்டு கட்டமைப்பு -// கீழே காட்டப்பட்டுள்ள தொடரியல் ஜாவா வை ஒத்தது +// கீழே காட்டப்பட்டுள்ள தொடரியல் ஜாவா வை ஒத்தது -// The `if` ஒரு குறித்த தர்க்கம் சரியாயின் -//அல்லது என்ற வடிவமைப்பை +// The `if` ஒரு குறித்த தர்க்கம் சரியாயின் +//அல்லது என்ற வடிவமைப்பை var count = 1; if (count == 3){ - // count இன் பெறுமானம் 3 சமமா என பார்க்கபடுகிறது + // count இன் பெறுமானம் 3 சமமா என பார்க்கபடுகிறது } else if (count == 4){ - // count இன் பெறுமானம் 4க்கு சமமா என பார்க்கபடுகிறது + // count இன் பெறுமானம் 4க்கு சமமா என பார்க்கபடுகிறது } else { - // count ஆனது 3 அல்ல 4 அல்ல எனின் + // count ஆனது 3 அல்ல 4 அல்ல எனின் } // ஒரு குறிப்பிட்ட ஒப்பீடு உண்மையாக இருக்கும் வரை `while`. @@ -230,40 +226,40 @@ while (true){ // இந்த இருக்கும் கூற்றுகள் முடிவிலி தடவை மறுபடி செயற்படுத்தப்படும் ! } -// while போல் அல்லாது do-while ,அவை ஒரு தடவையேனும் அதனுள் உள்ள கூற்றுகள் செயற்படுத்தபடும் +// while போல் அல்லாது do-while ,அவை ஒரு தடவையேனும் அதனுள் உள்ள கூற்றுகள் செயற்படுத்தபடும் var input; do { input = getInput(); } while (!isValid(input)) -// for (loop /சுற்று ) C , ஜாவாவை ஒத்தது +// for (loop /சுற்று ) C , ஜாவாவை ஒத்தது //மாறிக்கு பெறுமானத்தை வழங்கல் , மாறியானது தர்க்கத்தை பூர்த்தி செய்கிறதா என பார்த்தல் , -//சுற்றுக்குள் இருக்கும் கூற்றை செயற்படுதல் +//சுற்றுக்குள் இருக்கும் கூற்றை செயற்படுதல் for (var i = 0; i < 5; i++){ - // இந்த சுற்று 5 தடவைகள் தொடர்ந்து செயற்படுத்தபடும் + // இந்த சுற்று 5 தடவைகள் தொடர்ந்து செயற்படுத்தபடும் } -//for /In சுற்றுகள் prototype சங்கிலியில் உள்ள சகல காரணிகள் ஊடகவும் செல்லும் +//for /In சுற்றுகள் prototype சங்கிலியில் உள்ள சகல காரணிகள் ஊடகவும் செல்லும் var description = ""; -var person = {fname:"Paul", lname:"Ken", age:18}; +var person = {fname:"Paul", lname:"Ken", age:18}; for (var x in person){ description += person[x] + " "; } //ஒரு பொருளில் (Object) இடப்பட்ட பண்புகளை (properties) கருத்தில் கொள்ளும் போது -//குறிப்பிட்ட பண்புகளை அந்த Object கொண்டுள்ளதா என பார்க்க +//குறிப்பிட்ட பண்புகளை அந்த Object கொண்டுள்ளதா என பார்க்க var description = ""; -var person = {fname:"Paul", lname:"Ken", age:18}; +var person = {fname:"Paul", lname:"Ken", age:18}; for (var x in person){ if (person.hasOwnProperty(x)){ description += person[x] + " "; } } -//for /in ஆனது அணியில் உள்ள பண்புகள் ஒழுங்குபடுத்தப்பட்டவிதம் முக்கியம் -//ஆயின் பாவிப்பதை தவிர்க்கவும் ஏனெனில் அது சரியான ஒழுங்கில் -//வெளியீட்டை தரும் என்பது ஐயம் ஆகும் +//for /in ஆனது அணியில் உள்ள பண்புகள் ஒழுங்குபடுத்தப்பட்டவிதம் முக்கியம் +//ஆயின் பாவிப்பதை தவிர்க்கவும் ஏனெனில் அது சரியான ஒழுங்கில் +//வெளியீட்டை தரும் என்பது ஐயம் ஆகும் // && is logical and, || is logical or if (house.size == "big" && house.colour == "blue"){ @@ -298,16 +294,16 @@ switch (grade) { /////////////////////////////////// // 4. Functions, Scope and Closures -// JavaScript இல் functions நிறுவ `function` keyword.பயன்படும் +// JavaScript இல் functions நிறுவ `function` keyword.பயன்படும் function myFunction(thing){ return thing.toUpperCase(); } myFunction("foo"); // = "FOO" -//ஒரு பெறுமானத்தை return செய்ய வேண்டும் எனின் இரண்டும் ஒரே வரியில் -//இருக்க வேண்டும் இல்லாவிடின் return ஆனது `undefined ` return செய்யும் -//காற் புள்ளி தானாகவே இடப்படும் , நீங்கள் Allman style உபயோகிக்கும் போது -//அவதானமாக இருக்கவும் +//ஒரு பெறுமானத்தை return செய்ய வேண்டும் எனின் இரண்டும் ஒரே வரியில் +//இருக்க வேண்டும் இல்லாவிடின் return ஆனது `undefined ` return செய்யும் +//காற் புள்ளி தானாகவே இடப்படும் , நீங்கள் Allman style உபயோகிக்கும் போது +//அவதானமாக இருக்கவும் function myFunction() { return // <- semicolon automatically inserted here @@ -317,20 +313,20 @@ function myFunction() } myFunction(); // = undefined -// JavaScript functions ஆனது first class objects ஆகும் ,எனவே அவற்றை மாறிகளுக்கு -//assign செய்ய முடியும் அதுமட்டும் அல்லது functions களில் arguments ஆக அனுப்பமுடியும் +// JavaScript functions ஆனது first class objects ஆகும் ,எனவே அவற்றை மாறிகளுக்கு +//assign செய்ய முடியும் அதுமட்டும் அல்லது functions களில் arguments ஆக அனுப்பமுடியும் // உதாரணமாக ஒரு event handler: function myFunction(){ - //இந்த code 5 செக்கன்களில் செயற்படுத்தப்படும் + //இந்த code 5 செக்கன்களில் செயற்படுத்தப்படும் } setTimeout(myFunction, 5000); -// Note: setTimeout ஆனது ஜாவஸ்க்ரிப்ட் சேர்ந்தது அன்று , ஆனால் அந்த வசதி -//உலாவிகளிலும் ,Node .js காணப்படுகிறது +// Note: setTimeout ஆனது ஜாவஸ்க்ரிப்ட் சேர்ந்தது அன்று , ஆனால் அந்த வசதி +//உலாவிகளிலும் ,Node .js காணப்படுகிறது -// Function objects கட்டாயம் பெயரிடப்பட வீண்டும் என்று அவசியம் இல்லை -// அவை anonymous(பெயரிடப்படாமல்) உருவாக்கபடலாம் +// Function objects கட்டாயம் பெயரிடப்பட வீண்டும் என்று அவசியம் இல்லை +// அவை anonymous(பெயரிடப்படாமல்) உருவாக்கபடலாம் setTimeout(function(){ - //இந்த code 5 செக்கன்களில் செயற்படுத்தப்படும் + //இந்த code 5 செக்கன்களில் செயற்படுத்தப்படும் }, 5000); // JavaScript function ஒரு குறிப்பிட்ட scope(எல்லை) கொண்டுள்ளது ; @@ -339,42 +335,42 @@ setTimeout(function(){ if (true){ var i = 5; } -i; // = 5 - //இது undefined அல்ல +i; // = 5 - //இது undefined அல்ல -// இதன் காரணமாக anonymous functions உடனடியாக செயற்படுத்தபடுகின்றன +// இதன் காரணமாக anonymous functions உடனடியாக செயற்படுத்தபடுகின்றன //இதன் மூலம் தற்காலிக மாறிகள்(variable) குளோபல் scope //இற்கு மாறுவதை தவிர்க்கலாம் . (function(){ var temporary = 5; - //நாங்கள் ஒரு மாறியை எங்கிருந்தும் அணுக (access) அதை "global object" - //ஒன்றுக்கு வழங்க வேண்டும் உலாவியில் அது எப்போதும் `window` ஆகும் . - //உலாவி அல்லாத சூழலில் (Node.js) வேறு பெயருடன் இருக்கும் + //நாங்கள் ஒரு மாறியை எங்கிருந்தும் அணுக (access) அதை "global object" + //ஒன்றுக்கு வழங்க வேண்டும் உலாவியில் அது எப்போதும் `window` ஆகும் . + //உலாவி அல்லாத சூழலில் (Node.js) வேறு பெயருடன் இருக்கும் window.permanent = 10; })(); temporary; // raises ReferenceError permanent; // = 10 -//JavaScript's மிகவும் சக்தி வாய்ந்த ஒரு வசதி closures ஆகும் +//JavaScript's மிகவும் சக்தி வாய்ந்த ஒரு வசதி closures ஆகும் //ஒரு function இன்னொரு function உள் உருவாக்கபடின் -//அது உருவாகப்பட்ட function இன் மாறிகளை அணுக முடியும் +//அது உருவாகப்பட்ட function இன் மாறிகளை அணுக முடியும் function sayHelloInFiveSeconds(name){ var prompt = "Hello, " + name + "!"; - // Inner functions ஆனது local scope இல் காணப்படும் - //அது `var ` என்ற குறியீட்டு சொல்லால் நிறுவப்படும் + // Inner functions ஆனது local scope இல் காணப்படும் + //அது `var ` என்ற குறியீட்டு சொல்லால் நிறுவப்படும் function inner(){ alert(prompt); } setTimeout(inner, 5000); //setTimeout ஆனது background இல் இயங்கும் , எனவே sayHelloInFiveSeconds function, - //செயற்பாடு முடிவடைய ,setTimeout ஆனது inner function call செய்யும். + //செயற்பாடு முடிவடைய ,setTimeout ஆனது inner function call செய்யும். } -sayHelloInFiveSeconds("Adam"); // //இது ஒரு popup ஐ ஐந்து செக்கன்களில் காட்டும் +sayHelloInFiveSeconds("Adam"); // //இது ஒரு popup ஐ ஐந்து செக்கன்களில் காட்டும் /////////////////////////////////// -// 5. Objects; Constructors and Prototypes பற்றி மேலும் +// 5. Objects; Constructors and Prototypes பற்றி மேலும் -// Objects functions ஐ கொண்டிருக்கலாம் +// Objects functions ஐ கொண்டிருக்கலாம் var myObj = { myFunc: function(){ return "Hello world!"; @@ -382,8 +378,8 @@ var myObj = { }; myObj.myFunc(); // = "Hello world!" -//functions ஆனது objects உடன் இணைக்கப்பட்டுள போது அவை object ஐ அணுக முடியும் -//அவை this என்ற குறியீட்டு சொல்லை பயன்படுத்தி இணைக்கபடுகின்றன +//functions ஆனது objects உடன் இணைக்கப்பட்டுள போது அவை object ஐ அணுக முடியும் +//அவை this என்ற குறியீட்டு சொல்லை பயன்படுத்தி இணைக்கபடுகின்றன myObj = { myString: "Hello world!", myFunc: function(){ @@ -392,20 +388,20 @@ myObj = { }; myObj.myFunc(); // = "Hello world!" -//எங்கள் function ஆனது தொழிற் படாமல் போகலாம் அது context(அமைப்பு ) of the object call செய்யபடவிடின் +//எங்கள் function ஆனது தொழிற் படாமல் போகலாம் அது context(அமைப்பு ) of the object call செய்யபடவிடின் var myFunc = myObj.myFunc; myFunc(); // = undefined -//function ஆனது ஒரு object உக்கு assign செய்யலாம் பிறகு அதை நாம் அணுகமுடியும் -//`this` மூலம் +//function ஆனது ஒரு object உக்கு assign செய்யலாம் பிறகு அதை நாம் அணுகமுடியும் +//`this` மூலம் var myOtherFunc = function(){ return this.myString.toUpperCase(); } myObj.myOtherFunc = myOtherFunc; myObj.myOtherFunc(); // = "HELLO WORLD!" -//ஒரு function ஒரு அமைப்பை நாம் உருவாக்க முடியும் +//ஒரு function ஒரு அமைப்பை நாம் உருவாக்க முடியும் //அதை நாம் `call` அல்லது `apply` மூலம் செயல்படுத்த முடியும் var anotherFunc = function(s){ @@ -413,34 +409,34 @@ var anotherFunc = function(s){ } anotherFunc.call(myObj, " And Hello Moon!"); // = "Hello World! And Hello Moon!" -//apply செயற்பாட்டளவில் ஒத்தன ,ஆனால் அது array (அணி) argument +//apply செயற்பாட்டளவில் ஒத்தன ,ஆனால் அது array (அணி) argument //ஆக எடுக்கிறது. anotherFunc.apply(myObj, [" And Hello Sun!"]); // = "Hello World! And Hello Sun!" -//இது தொடர்ச்சியான arguments ஐ நாம் function ஒன்றுக்குள் pass பண்ண -//வேண்டும் எனில் மிகவும் உபயோகமானது +//இது தொடர்ச்சியான arguments ஐ நாம் function ஒன்றுக்குள் pass பண்ண +//வேண்டும் எனில் மிகவும் உபயோகமானது Math.min(42, 6, 27); // = 6 Math.min([42, 6, 27]); // = NaN (uh-oh!) Math.min.apply(Math, [42, 6, 27]); // = 6 -//ஆனால் `call ` ,`apply ` இரண்டும் தற்காலிகமானவை -//அவற்றை நிரந்தரமாக்க bind function ஐ பயன்படுத்தவும் +//ஆனால் `call ` ,`apply ` இரண்டும் தற்காலிகமானவை +//அவற்றை நிரந்தரமாக்க bind function ஐ பயன்படுத்தவும் var boundFunc = anotherFunc.bind(myObj); boundFunc(" And Hello Saturn!"); // = "Hello World! And Hello Saturn!" -//`bind ` ஐ உபயோகித்து ஒரு function ஐ பகுதியாக apply செய்ய முடியும் +//`bind ` ஐ உபயோகித்து ஒரு function ஐ பகுதியாக apply செய்ய முடியும் var product = function(a, b){ return a * b; } var doubler = product.bind(this, 2); doubler(8); // = 16 -//ஒரு function ஐ நாம் new என்ற குறியீட்டு சொல்லை பயன்படுத்தி -//அழைக்கும் போது புதிய object உருவாக்கப்படும் .இவ்வாறான functions -//constructors என அழைக்கப்படும் +//ஒரு function ஐ நாம் new என்ற குறியீட்டு சொல்லை பயன்படுத்தி +//அழைக்கும் போது புதிய object உருவாக்கப்படும் .இவ்வாறான functions +//constructors என அழைக்கப்படும் var MyConstructor = function(){ this.myNumber = 5; @@ -448,15 +444,15 @@ var MyConstructor = function(){ myNewObj = new MyConstructor(); // = {myNumber: 5} myNewObj.myNumber; // = 5 -//ஒவ்வொரு JavaScript object உம் ஒரு `prototype ` கொண்டுள்ளது -//நீங்கள் object ஒன்றின் ஒரு property ஐ அணுகும் போது -//அந்த property இல்லாவிடின் interpreter ஆனது -//அதன் prototype உள்ளதா என பார்க்கும் +//ஒவ்வொரு JavaScript object உம் ஒரு `prototype ` கொண்டுள்ளது +//நீங்கள் object ஒன்றின் ஒரு property ஐ அணுகும் போது +//அந்த property இல்லாவிடின் interpreter ஆனது +//அதன் prototype உள்ளதா என பார்க்கும் -//JS இன் சில செயலாக்கங்கள் ஒரு object இன் protoype ஐ +//JS இன் சில செயலாக்கங்கள் ஒரு object இன் protoype ஐ //இலகுவாக `__proto__` மூலம் access செய்ய முடியும் . -//இது prototype பாவணை யை இலகுவாக்கினாலும் -//இது சரியான ஒரு முறை அல்ல +//இது prototype பாவணை யை இலகுவாக்கினாலும் +//இது சரியான ஒரு முறை அல்ல var myObj = { myString: "Hello world!" }; @@ -473,21 +469,21 @@ myObj.meaningOfLife; // = 42 // This works for functions, too. myObj.myFunc(); // = "hello world!" -//உங்கள் property prototype இல் இல்லது இருப்பின் , protype இன் -//prototype search செய்யப்படும் +//உங்கள் property prototype இல் இல்லது இருப்பின் , protype இன் +//prototype search செய்யப்படும் myPrototype.__proto__ = { myBoolean: true }; myObj.myBoolean; // = true -//ஒவ்வொரு object உம் அதன் protype க்கும் reference (மேற்கோள் ) ஒன்றை வைத்திருக்கும் +//ஒவ்வொரு object உம் அதன் protype க்கும் reference (மேற்கோள் ) ஒன்றை வைத்திருக்கும் //நாம் ஒரு protype இணை மாற்றினால் அதன் மாற்றங்கள் எல்லா இடத்திலும் (program இல் ) -//பிரதிபலிக்கும் +//பிரதிபலிக்கும் myPrototype.meaningOfLife = 43; myObj.meaningOfLife; // = 43 - -//நாம் முன்பு கூறியது போல் `__proto__` பயன்படுத்துவது சரியான முறை அல்ல + +//நாம் முன்பு கூறியது போல் `__proto__` பயன்படுத்துவது சரியான முறை அல்ல //எனவே நாம் ஒரு protype ஐ object இல் உருவாக்க இரண்டு வழிமுறைகள் //உள்ளன @@ -550,7 +546,7 @@ String.prototype.firstCharacter = function(){ //இது பழைய சூழல்களில் உபயோகிகப்படும். -//நாங்கள் முன்பு கூறி இருந்தோம் Object.create சில இடங்களில் இந்த முறை இன்னும் +//நாங்கள் முன்பு கூறி இருந்தோம் Object.create சில இடங்களில் இந்த முறை இன்னும் //அறிமுகம் ஆகவில்லை என்று ஆனால் இதை polyfill ஐ பயன்படுத்தி உருவாக்க //முடியும் diff --git a/tr-tr/csharp-tr.html.markdown b/tr-tr/csharp-tr.html.markdown index 9834be20..e9dae611 100644 --- a/tr-tr/csharp-tr.html.markdown +++ b/tr-tr/csharp-tr.html.markdown @@ -9,17 +9,14 @@ translators: - ["Melih Mucuk", "http://melihmucuk.com"] lang: tr-tr filename: LearnCSharp-tr.cs - --- C# zarif ve tip güvenli nesne yönelimli bir dil olup geliştiricilerin .NET framework üzerinde çalışan güçlü ve güvenli uygulamalar geliştirmesini sağlar. -[Yazım yanlışları ve öneriler için bana ulaşabilirsiniz](mailto:melihmucuk@gmail.com) - [Daha fazlasını okuyun.](http://msdn.microsoft.com/en-us/library/vstudio/z1zx9t92.aspx) ```c# -// Tek satırlık yorumlar // ile başlar +// Tek satırlık yorumlar // ile başlar /* Birden fazla satırlı yorumlar buna benzer */ @@ -46,7 +43,7 @@ namespace Learning public class LearnCSharp { // TEMEL SÖZ DİZİMİ - daha önce Java ya da C++ kullandıysanız İLGİNÇ ÖZELLİKLER'e geçin - public static void Syntax() + public static void Syntax() { // Satırları yazdırmak için Console.WriteLine kullanın Console.WriteLine("Merhaba Dünya"); @@ -111,7 +108,7 @@ namespace Learning string fooString = "\"escape\" quotes and add \n (new lines) and \t (tabs)"; Console.WriteLine(fooString); - // İndeks numarası kullanarak bir string'in bütün karakterlerine erişilebilirsiniz: + // İndeks numarası kullanarak bir string'in bütün karakterlerine erişilebilirsiniz: char charFromString = fooString[1]; // => 'e' // String'ler değiştirilemez: fooString[1] = 'X' işlemini yapamazsınız; @@ -129,7 +126,7 @@ namespace Learning string bazString = @"Here's some stuff on a new line! ""Wow!"", the masses cried"; - // Bir değişkeni değiştirilemez yapmak için const ya da read-only kullanın. + // Bir değişkeni değiştirilemez yapmak için const ya da read-only kullanın. // const değerleri derleme sırasında hesaplanır const int HOURS_I_WORK_PER_WEEK = 9001; @@ -357,7 +354,7 @@ on a new line! ""Wow!"", the masses cried"; // // İLGİNÇ ÖZELLİKLER // - + // VARSAYILAN METOD TANIMLAMALARI public // Görünebilir @@ -369,7 +366,7 @@ on a new line! ""Wow!"", the masses cried"; int another = 3, params string[] otherParams // Metoda gönderilen diğer bütün parametreleri alır ) - { + { return -1; } @@ -382,8 +379,8 @@ on a new line! ""Wow!"", the masses cried"; // TKey ve TValue değerleri kullanıcı tarafından bu fonksiyon çağırılırken belirtilir. // Bu metod Python'daki SetDefault'a benzer public static TValue SetDefault