Rubyにアップグレードする10の理由

素晴らしいRuby on Railsフレームワークのおかげで、私は比較的最近Rubyに出会いました。 私は自分をRubyの専門家とは考えていませんが、PickAxeを読んで、個人用のRubyユーティリティをいくつか書いており、自由時間にRailsで開発しています。



私の主な言語であるRuby。 私は学校でTurboPascalで始め、大学でCC ++を学び、 Javaで学位論文を書きました。また、ウェブサイトをすばやく簡単に作成する方法を学びたいので、 PHPをゼロから学びました。 私のためにコードを書くことは娯楽の一形態であり、それ以外はすべてだと思います。 最初は、 PythonとRubyのどちらの言語を学ぶべきかについて考えていました。 間違ったインデントがコードに問題を引き起こすことを望んでいないので、2番目のコードを選択しました。



Rubyを最大限に活用する方法について、導師によって書かれた紹介、ガイド、記事、エッセイがたくさんあります。 この記事はそのようなものではありません。



これは、控えめで不完全な理由のリストであり、Rubyを使用するように促す(またはしない)場合があります。 注意:別のプログラミング言語を仕事やその他の目的で使用する場合は、それを使用したくない場合に文句を言わないでください。 これはまさに私に起こったことですが、私にとってはそれほど重要ではありません。 Rubyは素晴らしくエレガントな言語であり、同様の多くのことと同様に、あなたの心を捉え、魂を打ち砕くことができます。



つまり、警告されます。



Rubyを学ぶ理由



1.トリックなしですべての設備(喜び)を取得します。



RubyはsmalltalkからJavaに、 PerlからPythonに至るまで、他のプログラミング言語から最高のものを借りきました。 基本的に他の言語で見ることができる基本的な機能は次のとおりです。





2.あなたはささいなことを愛します。



ルビーはエレガントです。 なんで? 彼はコードを簡潔にしようとしないので、読みやすさと理解を妨げるでしょう。 あなたを助けることができるいくつかのヒントがあります:





3. .



? . «Enter» . Ruby Python, , . , C++, . , ?



4. , .



Java, , .

— «, 14 374346.678 — ?»

— «, , !»


Ruby , , . . , :

"YOU SHOULDN'T ALWAYS USE CAPITALS".lowcase # "you shouldn't always use capitals"



, :

# PHP Code

strtolower("YOU SHOULDN'T ALWAYS USE CAPITALS")






, .



5. .



« return ». , : Ruby , , «return» . .



6. .



, . : , - , . :



Ruby , . .

, ? Numeric, :

class Numeric

def feet

self*3.2808399

end

end







, , , , :

5.feet # 16.4041995





Ruby , . !



7. , , .



, C++, , - — . , , «» «» «». , Ruby . - . , . , Ruby, , , .



8. XML — .



XML — , , , . , , () , — . :

regexp: !ruby/regexp /a-zA-Z/

number: 4.

string: a string







XML, ? YAML, ( ) Ruby, , , .

Ruby XML, YAML , XML, ( Rails). , , :

{"string" => "a string", "number" => 4.7, "regexp" => /a-zA-Z/}.to_yaml





to_yaml, Object, , Ruby. YAML , . , ?



9. — , .



Ruby Lisp Perl Proc. Proc — « , . , .». :

def gen_times(factor)

return Proc.new {|n| n*factor }

end



times3 = gen_times(3)

times5 = gen_times(5)



times3.call(12) #=> 36

times5.call(5) #=> 25

times3.call(times5.call(4)) #=> 60







lambda Proc.new, . , Perl Python ( Lisp). PHP, .

Ruby « Proc», , , each, Array:

[1, 2, 4, 6, 8].each {|c| puts c*2} #=> , 2





, do… end, . Ruby .



10. Rails.



, … Rails -. , PHP, Rails Ruby, , .





. Ruby, , . , , , , — .






— , , (, ) . .



All Articles