From: moochan Date: 1999-03-11T10:37:50+09:00 Subject: [ruby-list:12736] Re: Making of Interval class. --VGh1LCAxMSBNYXIgMTk5OSAxMDozNjo1NSArMDkwMA== Content-Type: text/plain; charset=ISO-2022-JP moochan です. ># と言っても簡単な機能説明ぐらいないとね... > >1.Intervalクラスの生成 > 始値,終値,ステップ(省略時1)を与える. > 始値 < 終値 も可 > ステップは正整数でないとエラーになる. >2.始値,終値,ステップを再設定する. >3.添え字を与えて値を得る. >4.次の値を得る >5.前の値を得る >6.ステップの再設定. >7.値の個数を得る. >8.長さを得る. >9.最小値を得る. >10.最大値を得る. >11.全部の値をArrayで返す. Interval クラスに次の3点を追加しました. 添付ファイルにして送信します. 12. 値の総和:sum 13. 平均値:average 14. イテレータ:each # failの書き方って fail("string") でよかったのかなあ? # error_type の説明ってマニュアルのどこにあるのかなあ? --- moochan --VGh1LCAxMSBNYXIgMTk5OSAxMDozNjo1NSArMDkwMA== Content-Type: application/octet-stream; name="interval.rb" Content-Disposition: attachment; filename="interval.rb" Content-Transfer-Encoding: base64 IyEvdXNyL2xvY2FsL2Jpbi9ydWJ5CgpjbGFzcyBJbnRlcnZhbAogIGRlZiBpbml0aWFsaXplKGJl Z2lubmluZyxlbmRpbmcsc3RlcD0xKQogICAgcmVzZXQhKGJlZ2lubmluZyxlbmRpbmcsc3RlcCkK ICBlbmQKICBkZWYgcmVzZXQhKGJlZ2lubmluZyxlbmRpbmcsc3RlcD0xKQogICAgQGJlZ2luLCBA ZW5kLCBAc3RlcCA9IGJlZ2lubmluZywgZW5kaW5nLCBzdGVwCiAgICBAZGlyZWN0aW9uID0gMQog ICAgQGRpcmVjdGlvbiA9IC0xIGlmIEBiZWdpbiA+IEBlbmQKICAgIGNoZWNrX29mX3N0ZXAKICBl bmQKICBkZWYgY2hlY2tfb2Zfc3RlcAogICAgZmFpbCgiSW50ZXJ2YWwgc3RlcCB2YWx1ZSBpc24n dCBwb3NpdGl2ZS4iKSBpZiBAc3RlcCA8PSAwCiAgICBmYWlsKCJJbnRlcnZhbCBzdGVwIGlzIHRv byBiaWcuIikgaWYgKEBlbmQgLSBAYmVnaW4pLmFicyA8IEBzdGVwCiAgZW5kCiAgcHJpdmF0ZSA6 Y2hlY2tfb2Zfc3RlcAogIGRlZiBiZWdpbm5pbmcoKSByZXR1cm4gQGJlZ2luIGVuZAogIGRlZiBl bmRpbmcoKSByZXR1cm4gQGVuZCBlbmQKICBkZWYgc3RlcCgpIHJldHVybiBAc3RlcCBlbmQKICBk ZWYgc3RlcCEoc3RlcCkgQHN0ZXAgPSBzdGVwOyBjaGVja19vZl9zdGVwIGVuZAogIGRlZiBkaXJl Y3Rpb24oKSByZXR1cm4gQGRpcmVjdGlvbiBlbmQKICBkZWYgY2xhdXNlKG4pCiAgICBpZiBuID4g MAogICAgICBAaW5kZXggPSBuICMgcHJpdmF0ZSBpbnN0YW5jZSB2YWx1YWJsZQogICAgICBhbnMg PSBAYmVnaW4gKyBAZGlyZWN0aW9uICogQHN0ZXAgKiAobiAtIDEpCiAgICAgIHJldHVybiBhbnMg aWYgQGRpcmVjdGlvbiA9PSAgMSBhbmQgQGJlZ2luIDw9IGFucyBhbmQgYW5zIDw9IEBlbmQKICAg ICAgcmV0dXJuIGFucyBpZiBAZGlyZWN0aW9uID09IC0xIGFuZCBAYmVnaW4gPj0gYW5zIGFuZCBh bnMgPj0gQGVuZAogICAgZW5kCiAgICBmYWlsKCJFcnJvciBpbiBib3VuZHMuIikKICBlbmQKICBk ZWYgW10obikgY2xhdXNlKG4pIGVuZAogIGRlZiBuZXh0KCkgcmV0dXJuIGNsYXVzZShpbmRleCAr IDEpIGVuZAogIGRlZiBwcmV2KCkgcmV0dXJuIGNsYXVzZShpbmRleCAtIDEpIGVuZAogIGRlZiBp bmRleCgpIHJldHVybiBAaW5kZXggZW5kCiAgcHJpdmF0ZSA6aW5kZXgKICBkZWYgc2l6ZSgpIHJl dHVybiAoQGVuZCAtIEBiZWdpbikuYWJzIC8gQHN0ZXAgKyAxIGVuZAogIGRlZiBsZW5ndGgoKSBy ZXR1cm4gbWF4IC0gbWluIGVuZAogIGRlZiBtaW4oKSByZXR1cm4gQGJlZ2luIGlmIEBkaXJlY3Rp b24gPT0gIDE7IHJldHVybiBjbGF1c2Uoc2l6ZSkgZW5kCiAgZGVmIG1heCgpIHJldHVybiBAYmVn aW4gaWYgQGRpcmVjdGlvbiA9PSAtMTsgcmV0dXJuIGNsYXVzZShzaXplKSBlbmQKICBkZWYgc2V0 CiAgICBhcnkgPSBBcnJheS5uZXcKICAgIGZvciBuIGluIDEuLnNpemUKICAgICAgYXJ5LnB1c2go Y2xhdXNlKG4pKQogICAgZW5kCiAgICByZXR1cm4gYXJ5CiAgZW5kCiAgZGVmIHN1bSgpIHJldHVy biAobWluICsgbWF4KSAqIHNpemUgLyAyIGVuZAogIGRlZiBhdmVyYWdlKCkgcmV0dXJuIHN1bSAv IHNpemUgZW5kCiAgZGVmIGVhY2gKICAgIGZvciBuIGluIDEuLnNpemUKICAgICAgeWllbGQgY2xh dXNlKG4pCiAgICBlbmQKICBlbmQKZW5kCg== --VGh1LCAxMSBNYXIgMTk5OSAxMDozNjo1NSArMDkwMA==--