タグ

rubyに関するyhmtのブックマーク (25)

  • Ruby のシンボル

    1. シンボルの役割 a. シンボルは一意 Ruby で、シンボルを使うと、名前に一意性を持たせることができる。 たのしいRuby (p125) によると、 シンボルとは、Ruby が内部でメソッド名などの識別に使っている数値で、任意の文字列に対して異なった値が割り当てられます。 Emacs Lisp では、タンスの引き出しに例えられている。 cf. Symbols as Chest - Programming in Emacs Lisp b. シンボルの書き方 シンボルにはリテラルがあり、接頭辞 `:’ を名前の前につける。 プログラミング言語Ruby — ありえるえりあ のシンボル(3) には、ハッシュのキーをシンボルで書くことが勧められている。 # こうするより ht1 = { "key1" => "val1", "key2" => "val2" } # こう書く ht1 = { :

    yhmt
    yhmt 2014/06/03
  • PythonとRubyの変数のスコープのまとめ - saito’s blog

    僕が普段使用するPythonRubyの変数のスコープについてまとめてみました。 Python 1. if文やfor文などの制御構造はスコープを作らない。 次のプログラムでは、if文の内側と外側のスコープは共通なので、if文内でaが上書きされてa=1が出力されます。 a = 0 if True: a = 1 print "a = %d" % a # a = 1 2. 関数定義とクラス定義では新しいスコープが作られる。 関数定義やクラス定義では新しいスコープが作られるので、関数定義の内側と外側で同名の変数が存在しても、両者は区別されます。 次のプログラムでは、関数foo内で変数aに代入を行っていますが、この場合fooの内側の変数と外側の変数は別物なので、外側の変数が上書きされることはありません。 a = 0 def foo(): a = 1 print "a = %d" % a # a =

    PythonとRubyの変数のスコープのまとめ - saito’s blog
  • JavaScript 以外での即時関数パターン - present

    以前書いた次の記事を読み返していて思ったんだけど、 目から鱗が落ちた JavaScript の即時関数パターンの使い方 - present C# でも無名関数作れるから即時関数パターンできるよね。 using System; using System.Diagnostics; namespace ImmediateFunctionSample { class Program { static readonly Func<int> GetNextId = new Func<Func<int>>(() => { var nextId = 1; return () => { return nextId++; }; })(); static readonly string OSName = new Func<string>(() => { var version = Environment.OSV

    JavaScript 以外での即時関数パターン - present
    yhmt
    yhmt 2014/06/02
  • [Ruby] 便利な組み込みクラスのメソッド達(Hash編) - Qiita

    概要 パーフェクトRubyを読んでいて便利だと思ったもの一覧です。 Enumerable編 http://qiita.com/kidachi_/items/a00558cfb0a6a3e23f4b Array編 http://qiita.com/kidachi_/items/e9cb26c4e6cb36b70a1c String編 http://qiita.com/kidachi_/items/7b355eb355b2d1390cf5 繰り返し処理 each ハッシュのキーと値を繰り返す。 > hash = { Ruby: 1, Python: 2, Java: 3 } => {:Ruby=>1, :Python=>2, :Java=>3} > hash.each do |key, value| > p "#{key}: #{value}" > end "Ruby: 1" "Python:

    [Ruby] 便利な組み込みクラスのメソッド達(Hash編) - Qiita
    yhmt
    yhmt 2014/06/01
  • Rubyで使われる記号の意味(正規表現の複雑な記号は除く) (Ruby 3.3 リファレンスマニュアル)

    [edit] ! ? # % & | + - * / ^ ' . , < > = ~ $ @ _ {} [] () " : ` \ ; ! !true not 演算子。演算子式/notを参照。 3 != 5 「等しくない」比較演算子。演算子式/notを参照。 def xxx! 「!」はメソッド名の一部です。慣用的に、同名の(! の無い)メソッドに比べてより破壊的な作用をもつメソッド(例: tr と tr!)で使われます。 /xxx/ !~ yyy 正規表現のメソッド =~ の否定。マッチが失敗したらtrueを返します。 ? ?a リテラル/文字列リテラル。長さ 1 の文字列。 def xx? この場合の「?」はメソッド名の一部分です。慣用的に、真偽値を返すタイプのメソッドを示すために使われます。 xx ? yy : zz 演算子式/条件演算子。三項演算子とも呼ばれます。if xx then

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

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

    はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知
    yhmt
    yhmt 2014/05/29
  • 川o・-・)<2nd life

    Perl での print debug の方法の紹介がブーム(?)だったので、自分がよく行ってる Ruby での debug 方法7つについて書いてみます。 p ご存じの人も多い Kernel#p メソッド。これを使うとオブジェクトの内容を見やすい形で出力してくれます。 >> p ({:foobar => :baz}) {:foobar=>:baz}Object#inspect を使うと、p で出力するときと同じ文字列を String として取得できます。 >> puts ({:foobar => :baz}).inspect {:foobar=>:baz}初心者の頃この p での出力を使う方法がわからなくて困った記憶が…。 pp pp というライブラリを使うと、p より、より見やすい形式で出力してくれます。たとえば >> a = Array.new(10) { {:foobar => :

    川o・-・)<2nd life
  • Rubyにおけるスコープのおはなし

    今ここで「首相は誰?」と言ったら、答えは「安倍晋三」になります。ジュネーブの国際会議で「首相は誰?」と言ったら、答えは「不定」になります。しかし世界統一国家なるものが存在しうるなら、そこでの答えは「バラク・オバマ」になります。 つまり「首相」という語は環境依存です。 「首相」における環境依存性を排除する一つの方法は、それに名前空間、つまり対象限定子を付けることです。「日の首相は誰?」「世界統一国家の首相は誰?」と言えば、どんな環境にあろうとも「首相」という語が指す対象は一意です1。 Rubyの定数 Rubyにも名前空間の機能があるので、環境依存性を排除した首相を実装できます。 class Japan PrimeMinister = 'Shinzo Abe' end class UK PrimeMinister = 'David Camelon' end class Germany Pri

    yhmt
    yhmt 2014/05/29
  • Ruby表技集

    Ruby表技集 RubyのTipsを紹介します。 文字列関連 文字列の連結 文字列長の取得 文字列を1文字ずつ処理する 文字コードの取得 文字コードの推測 日付関連 日付の書式指定 日付の存在チェック 現在の日時を求める 日付の差を求める 前日・翌日の取得 曜日の取得 HTTP形式の日時取得 配列関連 配列の各要素を引数に渡す 配列値の検索 配列値のソート 配列のシャッフル 配列の要素数 配列に値を追加 配列から値を削除 配列のコピー 配列の連結 部分配列の取得 重複値の削除 ハッシュ関連 ハッシュのマージ ハッシュの要素数 ハッシュのキーの存在確認 ハッシュからエントリを削除する ファイル関連 ファイル存在確認 ファイルタイムの取得 ファイルサイズ取得 ファイル名変更 ファイルの削除 ファイルのコピー ファイルの移動 ファイルパーミッションの取得 ファイルパーミッションの設定 ファイル名

    yhmt
    yhmt 2014/05/28
  • The Ruby Style Guide日本語版 · fortissimo1997/ruby-style-guide · GitHub

    You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

    The Ruby Style Guide日本語版 · fortissimo1997/ruby-style-guide · GitHub
  • MacでRuby 2.x.xがインストールできないバグ (homebrew + rbenv) - Qiita

    追記(2014/6/25) homebrewのreadlineが6.3.5に更新され、Ruby 2.xでも問題なくインストールできる状態となったそうです。(thanks to:masawadaさん) この記事はrubyが2.1.1、homebrewのreadlineが6.3.3時点の情報であり、おそらくもう必要のない過去のものになってるかと思われます。 (何も調べてないので分かりません。) この記事は残しますが、Rubyのインストール時にエラーが発生した場合は別の原因であると思われます。 この記事を参考に、readlineを過去のものに戻して使ってた人へ さっそくbrew updateしてみたところエラーが出ました。 readlineの過去のバージョンを使用するために、Formulaをgit checkoutで過去のものにしたのが原因です。 以下の記事を参考に、正常にubgradeできるよ

    MacでRuby 2.x.xがインストールできないバグ (homebrew + rbenv) - Qiita
  • rbenvでRubyのバージョンを指定する方法 - Qiita

    rvmからrbenvに切り替えてみたのでrbenvがどういう方法でRubyバージョンを指定したり、状況によって切り替えることができるのか確認してみた。基 https://github.com/sstephenson/rbenv/ の要約および動作確認、バージョンは0.4.0。 shims ~/.rbenv/shimsにあるスクリプトが使うコマンド(irb, gem, rake, rails, rubyなど)を振り分けてくれる。shimsが振り分けた先を知るにはrbenv whichを使う。 bundleなどgemでインストールして新しいコマンドが増える場合は~/.rbenv/shimsに振り分けるスクリプトを置かないといけないのでrbenv rehashを唱える必要がある。 RBENV_VERSION ドキュメントによると RBENV_VERSION 環境変数が使うバージョンを決める。従

    rbenvでRubyのバージョンを指定する方法 - Qiita
  • http://rrlrlrll.org/sass-replace/

    yhmt
    yhmt 2013/11/01
  • Ruby製のPomodoro時間管理術·Pomo MOONGIFT

    PomoはRuby製のオープンソース・ソフトウェア(MIT License)です。 人間の集中力は25分程度しか継続しません。プログラマーなどで乗ってくると寝を忘れてしまうこともありますが、それは稀なケースです。そんな集中力の波を活かした時間管理法がPomodoroであり、PomoはRubyを使ってPomodoroを実践できるソフトウェアになります。 インストールはRubygemsを使ってコマンド一つでできます。 ヘルプです。基的にはadd/start/complete/breakがよく使われるものになるでしょう。 まず最初に設定ファイルを生成します。これで準備は完了です。 タスクを追加します。説明はなくても大丈夫です。 listやlsでタスクの一覧を出せます。 startでタスクを実行します。Mac OSXであれば通知が表示されます。 休憩が終わったという通知です。また作業開始です。

    Ruby製のPomodoro時間管理術·Pomo MOONGIFT
  • gem の Twitter ライブラリで warning: already initialized constant DEFAULT_BOUNDARY と言われたので - YNote

  • 実行中のスクリプトのディレクトリを取得する - make world

    p File.expand_path(File.dirname($0)) #=> 実行中のスクリプトのパス もしくは p File.expand_path(File.dirname(__FILE__)) #=> 実行中のスクリプトのパス $0 は実行時のスクリプトのファイル名 組み込み変数 __FILE__ は実行時のスクリプトのファイル名 変数と定数 擬似変数 File.dirname はディレクトリ名のみを取得 File.expand_path は与えられたパスが相対パスであれば絶対パスに変換。 応用 実行中のスクリプトから、ロードパスを動的に追加する。 参考 : require がロードするファイルを探すパスに追加をする # 実行中のスクリプトの絶対パスに、ライブラリなどが # 置かれているディレクトリをロードパスに追加している add_load_path = File.expand

    実行中のスクリプトのディレクトリを取得する - make world
    yhmt
    yhmt 2013/06/03
  • Sass/Compassで保存した際に非圧縮と圧縮したCSSファイルを出力する

    Sass/Compassで保存した際に非圧縮と圧縮したCSSファイルを出力する Sass/Compassでは保存の際にminify圧縮するか圧縮しないかを選択できますが、両方出力したい場合、次のような方法で出力できます。 config.rbに以下のコードを追加します。 output_style = :expanded on_stylesheet_saved do |filename| if File.exists?(filename) minifyFile = filename.gsub('.css', '.min.css') FileUtils.cp filename, minifyFile file = File.read minifyFile colon = ':' semicolon = ';' comma = ',' open_brace = ' {' close_brace =

    Sass/Compassで保存した際に非圧縮と圧縮したCSSファイルを出力する
  • `rbenv: rails: command not found`の対処方法 - Qiita

    状況 rbenvを使ってる いつのまにか古いRailsrails-0.9.5)がインストールされてた $ gem uninstall rails -v 0.9.5で古い方を削除 念のため$ gem install rails && rbenv rehash なのにrailsコマンドでタイトルのエラーが発生 (参照)sstephenson / rbenv - rbenv: rails: command not found ちなみに $ which railsすると~/.rbenv/shims/railsを向いていると思う。 これはrbenvがrailsコマンドをラップしたもので、実体がどこにあるかは$ rbenv which railsで調べることがでる。 で、それは~/.rbenv/versions/1.9.2-p290/lib/ruby/gems/1.9.1/gems/railties

    `rbenv: rails: command not found`の対処方法 - Qiita
    yhmt
    yhmt 2013/04/02
    Qiita
  • OS X で rbenv を使って ruby 1.9.3 or 2.0.0 の環境を作る - Qiita

    こんにちは、7日の予定が2日ほど遅延しております、すいません。 さて、私は OS X で ruby 1.9.3 の環境を構築するネタで書きたいと思います。 今回使う物 homebrew readline libyaml (2.0.0なら不要) openssl (trunk をビルドする場合) autoconf rbenv ruby-build Command Line Tools (Xcode) 尚、環境は Xcode 4.5 + OS X Mountain Lion を想定しています。 準備 最近の Xcode, 4.3 からは Xcode.app のなかに Developers ディレクトリが入ったためターミナルから gcc とか叩いても 見つからないと言われます。なので Command Line Tool をインストールしましょう。 Command Line Tool, 入れる方法は

    OS X で rbenv を使って ruby 1.9.3 or 2.0.0 の環境を作る - Qiita
    yhmt
    yhmt 2013/03/21
  • Rubyで開発するときに入れておきたい三種のRubyGems - KAYAC engineers' blog

    「つくるための三種の神器」というテーマで続けている「777ブログウェイ」! 9日目となる日は「Rubyで開発するときに入れておきたい三種のRubyGems」と題して、定番の RubyGems を3つご紹介します。 1. bundler「bundler」は、アプリケーションが依存するgemを管理するツールです。今やgem管理のデファクトスタンダードです。 「gem install hoge」のようにコマンドで gem をインストールしていくと、あれよあれよとグローバルな領域にどんどん色んなgemが…それも複数バージョン混在していきます。そして、いずれは、このアプリケーションで必要なgemはどれだっけ…バージョンはいくつだっけ…といった具合に、どんどん依存関係が分からなくなってきます。ここで活躍するのが「bundler」です。 使い方はいたって簡単。1) bundler のインストールgem

    Rubyで開発するときに入れておきたい三種のRubyGems - KAYAC engineers' blog
    yhmt
    yhmt 2013/03/07