..


スポンサーリンク

Rubyで構文の選択肢

によって書かれた記事クラウディオGarau

Rubyのようなシンプルかつ強力な言語の大きな利点の一つは、同じ出力を印刷するか、同等の動作を生成するためにさまざまな構文要素を使用して、すなわち、異なる方法で同じ結果を達成する能力である。

この短い記事では、サイクルだけでなく、所望の結果に基づいて、簡単な例を提示する"1"と"10"の範囲内のすべての番号を印刷できる簡単なプログラムを作成することです。

次のようなソリューション:

 



 1,2,3,4,5,6,7,8,9,10を置く

 
非常に便利な、一見思えるが、私たちの範囲は、("1"と"100"の間に言って)はるかに大きい場合は、私たちが探していることが唯一の2つのパラメータを必要とするスクリプトです、もう一度と思うだろう:初期値最後の(最小値と最大値)そのブラケットの範囲を。
このように、使用されるコードは非常に"かさばる"の出力を生成するために再度使用することができます。

pemette我々はそれを構築するために引数として渡された終了値に達するまで増加させる初期値作りたいのですが、我々は例を参照してください。

 



 。I |は|(1 .. 10)各DO



  



置く







最後に

 
それは番目のパラメータ(この例では"10")が定める条件に設立されたものと等しい値に達するまで、そう毎(ごと)値の範囲に対応する図が印刷されます。
変数のインクリメントを囲む2つの縦棒("| I |")それは"自分自身で"値を表すように残りのコードから自分自身を隔離するループ内で変数を区切るために使用されています。

同じ結果が入力するコードの量を"保存"leggermaneteを使用して構文を変えることによって達成することができる。

 



 (1 .. 10)、それぞれ。{| I | putsの私}

 
("{| I | putsのI}")の実行をマークつのパラメータに基づいて範囲のそれぞれに繰り返さvaolore戻り値は、文の実行によって返されます。

次のように代替は、ループの使用に基づいてすることができます。

 



のi(1 .. 10)のための



  



置く







最後に

 
再び我々は、変数"i"は値"10"のサイクルを終了する条件を表す必要な10回の反復、中に増加していることのできる値の範囲を定義する 2サイクルのパラメータを渡された。

しかし、我々の選択肢が完了していない、コードのこのシンプルなラインを見てみましょう:

 



 1.upto(10){| I | putsの私}

 
数値型を表すオブジェクトのメソッド件まで 、このメソッドの構文は、書き込み"x.upto(y)は"(I = X、X <"型に相当する実際には"のために"のそれに代わるものです。 = yは、私+ +){...}"。
と実際に我々は必ずしもループに頼ることなく、周期の同じ結果を得ることができる"点で最大"、結果はコードと命令を実行するためにシステムによって提供されるリソースを入力するという点で節約です。

今最後の例を見てみましょう:

 



 *置く(1 .. 10)

 
コードの提案の最後の行は、疑いなく、これまでに見たすべての人のが最も簡単です、記号"*"の簡単な使用方法は、ステートメント置くに頼らずに引数として渡された範囲内のすべての値を印刷することができます任意の周期または任意のメソッドの呼び出しを指定する必要がなくなります。

同じカテゴリの...
E -ラーニング
RubyとRuby on Rails(コース) RubyとRuby on Rails(コース)
RubyとRoRのと、ソフトウェアやWebアプリケーションを作成します。 39€から。
スポンサーリンク