[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

タグ

Rubyに関するmasaki0303のブックマーク (79)

  • 正規表現で最短マッチを知っとくとちょっと便利かも - (゚∀゚)o彡 sasata299's blog

    2012年05月01日21:34 Ruby 正規表現で最短マッチを知っとくとちょっと便利かも 正規表現ってあるじゃないですか。そうです。アレです。 とっても便利で、いろんな場面で役立つと思うんですが、ときどき最短マッチを使いたくなって「最短マッチってどう書くんだっけなぁ?」ってなってググることがあります(よね!) 通常は最長マッチになる 通常、正規表現内で * とか + とか付けると、直前の表現の0回/1回以上の繰り返しを表しますが、この書き方だとできるだけ長い要素にマッチしようとします。大事なことなのでもう一度言います。できるだけ長い要素にマッチしようとするんです。 大抵はそれで構わないんですが、ときどきそれでは困るケースがあります。例えばこんなケースを考えてみましょう(あんまり良い例が思いつかない)。 ・"名前(ニックネーム)"という形式 ・名前と(ニックネーム)の間には半角or全角ス

  • Module: Test::Unit::Assertions (Ruby 1.8.6)

    Test::Unit::Assertions contains the standard Test::Unit assertions. Assertions is included in Test::Unit::TestCase. To include it in your own code and use its functionality, you simply need to rescue Test::Unit::AssertionFailedError. Additionally you may override add_assertion to get notified whenever an assertion is made. Notes: The message to each assertion, if given, will be propagated with the

  • Fabricationを使ってみた - のどをRubyでいっぱいにして

    ※2011/11/08 コメント欄で指摘を頂いた箇所を加筆修正しました。また、割と古い記事ですので最新の情報は Fabrication を参照することをお奨めします。 これを作ってるとき、machinistとmachinist_mongoを使っていたんですが、試しに前々から気になっていたFabricationで書き換えてみました。README書いてあることをいくつか実際にやってみたのでメモしておきます。割と使いやすかったです。 何に使えるの 下記をサポートしてるそうですので、Mongoid使えます。やった! Plain old Ruby objects ActiveRecord objects Mongoid Documents 使ったもの Fabrication…日のメイン Faker…嘘データをどんどこ作ってくれるやつ QuickStart & 使い方 Gemfile Rails/M

    Fabricationを使ってみた - のどをRubyでいっぱいにして
  • Rubular: a Ruby regular expression editor and tester

    Rubular is a Ruby-based regular expression editor. It's a handy way to test regular expressions as you write them. To start, enter a regular expression and a test string. Or you can try an example.

    Rubular: a Ruby regular expression editor and tester
    masaki0303
    masaki0303 2011/08/25
    Rubyの正規表現チェックツール。正規表現を勉強する時にも活用できそう。UIがいけてる。
  • Object#__send__ (Ruby 2.7.0 リファレンスマニュアル)

    send(name, *args) -> object[permalink][rdoc][edit] send(name, *args) { .... } -> object __send__(name, *args) -> object __send__(name, *args) { .... } -> object オブジェクトのメソッド name を args を引数にして呼び出し、メソッドの実行結果を返します。 ブロック付きで呼ばれたときはブロックもそのまま引き渡します。 send が再定義された場合に備えて別名 __send__ も用意されており、ライブラリではこちらを使うべきです。また __send__ は再定義すべきではありません。 send, __send__ は、メソッドの呼び出し制限にかかわらず任意のメソッドを呼び出せます。 クラス/メソッドの定義/呼び出し制限 も参照

    masaki0303
    masaki0303 2011/08/19
    sendメソッドに関して
  • [ヅ] Rubyで可変長引数とハッシュで擬似的なキーワード引数のサンプルコード(まぜるな危険) (2011-04-25)

    OS: Microsoft Windows XP Home Edition Version 2002 Service Pack 3 C:\>uname -mrsv WindowsNT 1 5 x86 C:\>ruby -v ruby 1.9.2p136 (2010-12-25) [i386-mingw32] 可変長引数のサンプルコード。 # 可変長引数(残余引数: 任意の数の引数を取ることができる) def hoge1(*args) args.each_index{|i| puts "args[#{i}]=#{args[i]}" } end puts '----- hoge1 begins -----' hoge1('hello', 'my', 'friend', 'you', 'love', 'summer', 'attane!') puts '----- hoge1 finished

    masaki0303
    masaki0303 2011/08/14
    可変数引数とハッシュに関して。メソッド定義時の引数でこんなに色んなことが実現できるのは新たな発見。
  • プログラミング言語 Ruby リファレンスマニュアル

    注: Rubyは2.1.0からSemantic Versioningを採用しています。 Ruby 2.1.1, 2.1.2等はバグ修正やセキュリティfixのみを含むため、リファレンスとしては2.1に統一しています。

    masaki0303
    masaki0303 2011/08/03
    benchmarkクラスに関して。Ruby処理の速度比較ときに利用する。便利。
  • Enumerable#group_by (Ruby 3.3 リファレンスマニュアル)

    group_by -> Enumerator[permalink][rdoc][edit] group_by {|obj| ... } -> Hash ブロックを評価した結果をキー、対応する要素の配列を値とするハッシュを返します。 例 (1..6).group_by {|i| i%3} #=> {0=>[3, 6], 1=>[1, 4], 2=>[2, 5]} ブロックを省略した場合は Enumerator を返します。

    masaki0303
    masaki0303 2011/08/02
    group_byメソッドとは何て便利なメソッドが!1.8.7対応と書いてあるが1.8.6でも使える。
  • はてなブログ | 無料ブログを作成しよう

    2024年下半期のフィルム写真たち ふと気がつくと2024年も残り僅か。 そしてふと振り返るとこのブログに掲載する写真がGRIIIで撮ったものばかりになっていたのだけど、決してフィルムに飽きたということではなく、フィルムはフィルムで淡々と撮り続けているし、モノクロもカラーネガもいつも通り自宅で…

    はてなブログ | 無料ブログを作成しよう
    masaki0303
    masaki0303 2011/07/25
    OrderedHashについて
  • サービス終了のお知らせ - NAVER まとめ

    サービス終了のお知らせ NAVERまとめは2020年9月30日をもちましてサービス終了いたしました。 約11年間、NAVERまとめをご利用・ご愛顧いただき誠にありがとうございました。

    サービス終了のお知らせ - NAVER まとめ
    masaki0303
    masaki0303 2011/07/21
    あとでじっくり読む。
  • プログラミング言語 Ruby リファレンスマニュアル

    注: Rubyは2.1.0からSemantic Versioningを採用しています。 Ruby 2.1.1, 2.1.2等はバグ修正やセキュリティfixのみを含むため、リファレンスとしては2.1に統一しています。

  • はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知

    はてなグループの終了日を2020年1月31日(金)に決定しました 以下のエントリの通り、今年末を目処にはてなグループを終了予定である旨をお知らせしておりました。 2019年末を目処に、はてなグループの提供を終了する予定です - はてなグループ日記 このたび、正式に終了日を決定いたしましたので、以下の通りご確認ください。 終了日: 2020年1月31日(金) エクスポート希望申請期限:2020年1月31日(金) 終了日以降は、はてなグループの閲覧および投稿は行えません。日記のエクスポートが必要な方は以下の記事にしたがって手続きをしてください。 はてなグループに投稿された日記データのエクスポートについて - はてなグループ日記 ご利用のみなさまにはご迷惑をおかけいたしますが、どうぞよろしくお願いいたします。 2020-06-25 追記 はてなグループ日記のエクスポートデータは2020年2月28

    はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知
    masaki0303
    masaki0303 2011/06/30
    requireとincludeとextendの違い
  • 結局、Rubyの特異メソッドって何なの? - (゚∀゚)o彡 sasata299's blog

    2010年10月27日11:09 Ruby 結局、Rubyの特異メソッドって何なの? 今日は 特異メソッド について理解を深めるために書いてみます。説明の中にメソッドが色々出てきてややこしいですが、このルールで使っています。m(_ _)m c_method # クラスメソッド e_method # 特異メソッド i_method # インスタンスメソッド 特異メソッドっていうのは、オブジェクト固有のメソッドです。あるオブジェクトにはあるけど、同じクラスの別のオブジェクトにはそのメソッドは無い、みたいなメソッドですね。 class MyClass; end obj = MyClass.new obj2 = MyClass.new def obj.e_method puts "e_method called" end obj.e_method # e_method called obj2.e_

    masaki0303
    masaki0303 2011/06/27
    特異メソッドに対する理解。というよりクラスに対する理解を深める。
  • Rubyのblock、Proc、lambdaを理解する - このブログは証明できない。

    新年おめでとうございます。2009年の最初のネタはプログラミングのネタにすることにしました。 Rubyについてのステキなエントリーがあったので、紹介します。 no title 私は翻訳能力がないばかりか、リーディング能力も貧相です。ぜひ、原文を読んでみてください。 はじめに Rubyblock、Proc、lambdaはパワフルですが、解りにくい。Rubyはクロージャを使う方法が4つあって、それぞれチョットずつ違います。ここでは、そのへんを解説したいと思います。 Block もっとも簡単で、かつRubyっぽいと言えば、Blockですね。 array = [1, 2, 3, 4] array.collect! do |n| n ** 2 end puts array.inspect # => [1, 4, 9, 16] 何が起こっているか? まず、block付きでArrayの"collect

    masaki0303
    masaki0303 2011/06/26
    blockとProckはコードスニペットとして振る舞い、lambdaとMethodはメソッドのように振る舞う。これも後で一緒に理解の材料にする。
  • codnote.net

    This domain may be for sale!

  • 島根県 : Ruby合宿

    Ruby合宿2011 夏 今年も、 大学、高等専門学校、高等学校の学生等を対象に、松江市在住のまつもとゆきひろ氏が開発したオープンソースのプログラミング言語「Ruby」を学ぶ、5日間の合宿形式の講座を開催します。 県内のIT企業の方々にも参加してもらい、参加学生と企業が意見交換を行うなど、交流する機会を設けることとしています。 目的 IT企業に関心を持つ学生に対して、Ruby 習得の講座を開催し、Rubyの技術習得を図るとともに、学生に対して県内ソフト系IT企業の情報を提供し、県内への就職機会を広げます。 対象 学生(大学・高専・専門学校・高校生等)または25歳未満の無職の人で、以下の条件を満たす人 ・将来、ソフト系の I T産業界で働きたいと考えている人 ・何らかのプログラミング言語を学習したことのある人 ※ただし、島根県在住または島根県出身の方を優先します。 内容 プログラ

    masaki0303
    masaki0303 2011/06/16
    いいなー楽しそー!大学生の戻れたら是非とも行きたい><
  • 文字コードの変換方法まとめ 〜Rubyで文字化けした時の対応方法 - 久保清隆のブログ

    Ruby(1.8.6)で文字コードを変換したかった。 Rubyで文字コードを変換するには、 kconvを利用する方法 nkfを利用する方法 iconvを利用する方法 の3つがある。 csvダウンロードするために、utf-8をsjisに変換する必要があった。 kconvを用いる方法 Kconvは自動的に、MIMEをデコードしたり、半角カタカナを全角カタカナに変換したりする。 このような動作を好まない場合は、NKF モジュールを直接用いる必要がある。 ちなみに、Kconvは内部ではNKFを用いて変換を行っている。 kconvを使うのが一番手軽そうだったので、 コントローラでrequire 'kconv'して、 kconvのtosjisを使ってたら基的にうまくいってたんだけど、 國とか學とかの旧字体の変換で文字化けした。 require 'kconv' '学'.tosjis #=> '学' '

    文字コードの変換方法まとめ 〜Rubyで文字化けした時の対応方法 - 久保清隆のブログ
    masaki0303
    masaki0303 2011/06/12
    文字コード変換のまとめ。旧字体が文字化けする際には文字コードの自動判定が誤判定されている可能性が高い。その場合は入力の時の文字コードを指定する必要がある
  • まつもと直伝 プログラミングのオキテ---目次 - まつもと直伝 プログラミングのオキテ:ITpro

    第0回 あらためてRuby入門 まつもとゆきひろ氏自身による「Ruby入門」をお届けします。日経Linuxの連載開始前の特別企画(2005年4月号)として,Rubyが他のスクリプト言語やオブジェクト指向言語とどこが違うのか,なぜ便利なのかを中心に解説してもらったものです。 ● 基と他言語との違い ● 実装とRuby誕生の秘密 第1回 プログラミングとオブジェクト指向の関係 プログラマを目指す人々の中にも,「オブジェクト指向は難しい」とか,「なかなか分からない」という印象を持つ方が多いようです。そこで,Rubyを題材にオブジェクト指向という考え方について説明していきます。 ● その1 ● その2 ● その3 第2回 抽象データと継承 オブジェクト指向プログラミングを構成する3原則のうち,前回は「ポリモーフィズム」を学びました。今回はオブジェクト指向の歴史を復習した後,残りの「データ抽象」と

    まつもと直伝 プログラミングのオキテ---目次 - まつもと直伝 プログラミングのオキテ:ITpro
    masaki0303
    masaki0303 2011/06/11
    rubyを改めて学ぶ。
  • Ruby のイテレータ - yield の働き | すぐに忘れる脳みそのためのメモ

    1. 要素を取り出す each メソッド Ruby の「イテレータ」は、複数の要素を持つオブジェクトが、個々の要素を取り出し、何らかの処理を適用するときに使うと便利。 一番基となるメソッドが each 。例えば、Array クラスの場合、each メソッドで、要素をひとつづづ取り出すことができる。 [1,2,3,4,5].each do |i| puts i end これはどういう仕組みで、このように書けるのだろうか? 2. イテレータの役割 「オブジェクト指向スクリプト言語 Ruby」(p94) では、イテレータについて、次のように述べられている。 イテレータ (Iterator) はメソッドの一種で、もともとは繰り返しの抽象化のためのものでした。 しかし、はじめから 「繰り返しの抽象化のため」 という視点で、イテレータを理解しようとすると、わかりずらい。「繰り返しの処理のため」にある

    Ruby のイテレータ - yield の働き | すぐに忘れる脳みそのためのメモ
    masaki0303
    masaki0303 2011/06/09
    場合分けえ具体例がたくさんあり、分り易い!
  • プログラミング言語 Ruby リファレンスマニュアル

    注: Rubyは2.1.0からSemantic Versioningを採用しています。 Ruby 2.1.1, 2.1.2等はバグ修正やセキュリティfixのみを含むため、リファレンスとしては2.1に統一しています。

    masaki0303
    masaki0303 2011/06/07
    yieldの仕組みと使い方