ブロックとイテレータ
ruby -e "1.upto(9){ |x| print x }"
まつもと, ゆきひろ = Flanagan, David 「1.1.2 ブロックとイテレータ」『プログラミング言語 Ruby
』 2009年1月 オライリー・ジャパン isbn:9784873113944 p3
広告 Ruby
ブロックとイテレータ
ruby -e '3.times { print "Ruby ! "}'
まつもと, ゆきひろ = Flanagan, David 「1.1.2 ブロックとイテレータ」『プログラミング言語 Ruby
』 2009年1月 オライリー・ジャパン isbn:9784873113944 p3
広告 Ruby
イテレータと yield
using System; using System.Collections; using System.Collections.Generic; public class Program { /// <summary> /// このプログラムのメイン・エントリポイントです。 /// </summary> public static void Main() { // 列挙可能な文字列を生成します EnumarableStrings strings = new EnumarableStrings(new string[] {"1", "2", "3"}); // 文字列を列挙して表示します foreach (string s in strings) { Console.WriteLine(s); } } } /// <summary> /// 列挙可能な文字列をあらわします。 /// </summary> public class EnumarableStrings : IEnumerable<string> { /// <summary> /// コンストラクタ。 /// </summary> public EnumarableStrings(string[] strings) { this._strings = strings; } /// <summary> /// インターフェイスメンバの実装。 /// </summary> /// <returns></returns> public IEnumerator<string> GetEnumerator() { foreach (string str in this._strings) { yield return str; } } /// <summary> /// 明示的なインターフェイスの実装につき、修飾子 public 等はつけられない。 /// </summary> /// <returns></returns> IEnumerator IEnumerable.GetEnumerator() { return this.GetEnumerator(); } #region Private members... /// <summary>列挙する文字列のリスト。</summary> private readonly IList _strings; #endregion }
広告 C#
イベント、デリゲート、ラムダ式
using System; public class Program { /// <summary> /// このアプリケーションのメイン・エントリポイントです。 /// </summary> public static void Main() { // イベントハンドラを宣言 EventHandler handler; // イベントハンドラをラムダ式で生成 handler = (sender, e) => { Console.WriteLine("Did it."); }; // イベントにハンドラを割り当て Program.doIt += handler; // イベント発火 Program.doIt(null, EventArgs.Empty); } /// <summary>イベント宣言。</summary> private static event EventHandler doIt; }
広告 C#