タグ

2014年5月28日のブックマーク (8件)

  • RubyにHaskellよりも強力なパターンマッチを実装した - Qiita

    require 'egison' include Egison match_all(object) do with(pattern) do ... end end match(object) do with(pattern) do ... end with(pattern) do ... end ... end パターンマッチに成功すると、withに渡されたブロックが実行され、その結果が返されます。 このライブラリのパターンマッチでは、パターンマッチの結果が複数あるということがあります。 match_all構文はそのすべてのパターンマッチの結果それぞれについてwithに渡されたブロックを実行し、すべての結果をまとめた配列を返します。 match_all構文は1つのwith節を取ります。 一方、matchは複数のwith節を取ります。 先頭のwith節のパターンから順番にパターンマッチに成功

    RubyにHaskellよりも強力なパターンマッチを実装した - Qiita
    taka222
    taka222 2014/05/28
  • RSpec 3の重要な変更 - 有頂天Ruby

    Myron Marston » Notable Changes in RSpec 3の雑な訳です。 誤訳・雑すぎる訳がありましたら、Twitterで@nilp_までご連絡頂けると助かります。 RSpec 3.0.0 RC1が2日前にリリースされました、そして最終的な3.0.0のリリースが目前に迫っています。 我々はβ版をここ6ヶ月にわたり使ってきました、我々はそれらを皆さんと共有できることにわくわくしています。 これが新しいとこだよ: すべてのgemたちにわたって Ruby 1.8.6と1.9.1のサポートがなくなりました これらのバージョンのRubyはかなり前に寿命を迎えました、RSpecはこれらをサポートしません。 Ruby 2.xのサポート向上 最近のRSpec 2.xのリリース(すなわち2.0がリリースされたあと出たやつ)はRuby 2を公式にサポートしています、しかしRSpec

    RSpec 3の重要な変更 - 有頂天Ruby
    taka222
    taka222 2014/05/28
  • Yahooテキスト解析のルビ振りAPIをRubyから使う

    当初、KAKASI – 漢字→かな(ローマ字)変換プログラム というライブラリを使っていたのですが、Yahoo API も良さそうだったので併用することにして試してみました。 Yahooルビ振りAPIを使うRubyコード XML 解析に Nokogiri ライブラリを使います。YAHOO_API_ID は取得したご自分のものに変更して下さい。 require "open-uri" require "nokogiri" YAHOO_API_ID = "***" def put_ruby_on(word) return "" if word.size >= 1000 enc_word = URI.encode(word) url = "http://jlp.yahooapis.jp/FuriganaService/V1/furigana?appid=#{YAHOO_API_ID}&senten

    Yahooテキスト解析のルビ振りAPIをRubyから使う
    taka222
    taka222 2014/05/28
    ブログ更新
  • モデルやメソッドに名前を付けるときは英語の品詞に気をつけよう - Qiita

    はじめに 他の人が書いたコードを読んでいるときに時々気になるのが、英語の間違いです。 特に動詞、名詞、形容詞の使い分けが間違っていたりすると、かなり違和感を感じます。 そこで今回はモデル(=クラス)やメソッドに名前を付けるときの基的な原則をまとめてみます。 また、英文法的に正しい品詞が選べるようになるための習慣についても最後に説明します。 想定する言語/フレームワーク この記事の説明ではRuby/Ruby on Railsを想定しています。 ただし、基的な考え方は他の言語でも同じように使えるはずです。 モデルの名前は名詞にする 例: 「支払い情報」を表すモデルを作りたい場合 × Pay ○ Payment 「支払う = payか。よし。」でモデルを作ってはいけません! payは動詞で、payの名詞形がpaymentです。 Payモデルではなく、Paymentモデルを作りましょう。 例:

    モデルやメソッドに名前を付けるときは英語の品詞に気をつけよう - Qiita
    taka222
    taka222 2014/05/28
  • open-uriにtimeoutを設定する方法 - Pistolfly

    require 'open-uri' require 'resolv-replace' require 'timeout' TIMEOUT = 3 begin timeout(TIMEOUT) do open(url) do |f| # 処理 end end rescue TimeoutError => e # タイムアウト時の例外処理 rescue => e # その他の例外処理 end timeout による割り込みはRubyのThreadによって実現されており、C言語レベルで実装されRuby のスレッドが割り込めない処理では無効なので、SocketでDNSの名前解決に時間がかかった場合にタイムアウトしない。そのため、resolvライブラリを使うようにresolv-replaceでメソッドの書き換えを行う。 タイムアウト時のTimeoutErrorはStandardErrorのサブクラ

    open-uriにtimeoutを設定する方法 - Pistolfly
    taka222
    taka222 2014/05/28
  • open-uriにtimeout(タイムアウト/時間制限)を追加する[Ruby]

    Open-URIでデータを取得する際に、一定時間以上取得できない場合に問い合わせを諦めるための制御です。ごくごくシンプルなプログラムですが、個人的によく使うのでメモ。 require 'open-uri' require 'resolv-replace' require 'timeout' TIME_OUT = 3 begin timeout(TIME_OUT) { open(URI.encode(url), "r", {:ssl_verify_mode=>OpenSSL::SSL::VERIFY_NONE}) } rescue TimeoutError => e # timeout時の例外処理 rescue => e # timeout以外の例外処理 end resolv-replaceライブラリ: ホスト名解決にresolvライブラリを使うようにする(DNS検索でのタイムアウトを実現す

    open-uriにtimeout(タイムアウト/時間制限)を追加する[Ruby]
    taka222
    taka222 2014/05/28
  • open-uriにtimeoutを設定する方法 : やむにやまれず

    2007年10月02日10:21 by 山崎泰宏 open-uriにtimeoutを設定する方法 カテゴリRuby Tweet sparklegate Comment(0)Trackback(0) open-uriは便利だけど、timeoutの設定とかはできないので自前で準備する必要がある。 知っている人にはそれが大したものではないのだろうけど、調べるとなると若干時間が必要なのでここにメモしておく。 open-uriにtimeoutを設定したコード:require 'open-uri' require "resolv-replace" require 'timeout' begin timeout(1){ open(uri){|f| # ここで接続に時間がかかるケースを想定します # 必要な処理 } } rescue TimeoutError # 捕捉 end 単純なコードですがポイントは

    open-uriにtimeoutを設定する方法 : やむにやまれず
    taka222
    taka222 2014/05/28
  • dfltweb1.onamae.com – このドメインはお名前.comで取得されています。

    このドメインは お名前.com から取得されました。 お名前.com は GMOインターネットグループ(株) が運営する国内シェアNo.1のドメイン登録サービスです。 ※表示価格は、全て税込です。 ※サービス品質維持のため、一時的に対象となる料金へ一定割合の「サービス維持調整費」を加算させていただきます。 ※1 「国内シェア」は、ICANN(インターネットのドメイン名などの資源を管理する非営利団体)の公表数値をもとに集計。gTLDが集計の対象。 日のドメイン登録業者(レジストラ)(「ICANNがレジストラとして認定した企業」一覧(InterNIC提供)内に「Japan」の記載があるもの)を対象。 レジストラ「GMO Internet Group, Inc. d/b/a Onamae.com」のシェア値を集計。 2023年5月時点の調査。

    dfltweb1.onamae.com – このドメインはお名前.comで取得されています。
    taka222
    taka222 2014/05/28