Rubyのデフォルト引数では、他の引数に依存した式を書ける。地味に便利。 [1] pry(main)> def foo(a, b = a * 2) [1] pry(main)* puts b [1] pry(main)* end => nil [2] pry(main)> foo(3) 6 => nil 再帰もかける。デフォルト引数で再帰させてフィボナってみる [3] pry(main)> def fib(n,r = (n <=1 ? n : fib(n-2) + fib(n-1))) [3] pry(main)* r [3] pry(main)* end => nil [4] pry(main)> 11.times do |n| puts "fib(#{n}) => #{fib(n)}" end fib(0) => 0 fib(1) => 1 fib(2) => 1 fib(3) =>
I don't pretend to be a huge fan of Ruby. That said, I can respect when a language has a feature that's pretty damn neat and useful. For the uninformed, method_missing in Ruby is something like the following: # Basic class, no methods, but method_missing love class Rapture def initialize @missing_msg = "Oh god, calling method_missing" end # Called when a non-existent method call on an instance # o
言語女子会: undefとnullは両方必要?、言語女子会2: varは必要?/privateがない?の続編です。 Rubyに恋愛相談 Python: 最近悩んでるのよね… Ruby: んー、何に? Python: 自分はどんな人が好きなのかなぁ…とか… Ruby: あー、そんなの簡単よ!一緒にいて楽しいことよ! *1 Python: そんなの誰とだって仲良くなったら楽しいんだから差別化にならないじゃん Ruby: そうとは限らないわよ、たとえば、あっ… C: ごめーん、会議が長引いちゃって遅れちゃった!(髪の毛ファサーっ) Python: ああ…なるほど… C C: 何の話?え、恋愛に悩んでる?そんなの簡単よ。卓越性よ。 Python: 卓越性?? C: そうよ。なんらかの分野で「わたしが一番」という状況を作ることよ。そうすれば男の側からいくらでも寄ってくるわ。 Python: なるほど
はてなグループの終了日を2020年1月31日(金)に決定しました 以下のエントリの通り、今年末を目処にはてなグループを終了予定である旨をお知らせしておりました。 2019年末を目処に、はてなグループの提供を終了する予定です - はてなグループ日記 このたび、正式に終了日を決定いたしましたので、以下の通りご確認ください。 終了日: 2020年1月31日(金) エクスポート希望申請期限:2020年1月31日(金) 終了日以降は、はてなグループの閲覧および投稿は行えません。日記のエクスポートが必要な方は以下の記事にしたがって手続きをしてください。 はてなグループに投稿された日記データのエクスポートについて - はてなグループ日記 ご利用のみなさまにはご迷惑をおかけいたしますが、どうぞよろしくお願いいたします。 2020-06-25 追記 はてなグループ日記のエクスポートデータは2020年2月28
ここ数日 ruby をやってるんですけど、ruby といえばテストらしいので Test::Unit やら RSpec やらを調べてました。しかし僕はこれまでまともな TDD をやってこなかったので、先にテストとは何ぞや?TDD とは何ぞや?ってのを調べたりしていました。 この記事は、ずぶの TDD 素人がテストについて知り始めたまとめです。 1. きっかけは RSpec のドキュメント そもそも RSpec の↓紹介文の冒頭から意味不明に感じたんです。 FAQ:「RSpec って、要は Test::Unit でやっていることを別の書き方にしただけでは?」 この FAQ への短い答えはイエスです。 『スはスペックのス 【第 1 回】 RSpec の概要と、RSpec on Rails (モデル編)』 Rubyist Magazine えっ... じゃあ要らんやろソレ。いちいち手作業でチェック
最も有名なベンチマークサイト "The Computer Language Benchmarks Game" における最新のランキングで Ruby 1.9 は Python3, PHP, JRuby を追い抜きスクリプト言語としてトップクラスの値を叩き出しました。 5/4の時点では最下位に近かったので大きく前進しています。 1つのパッチで520%の高速化を達成 この高速化は私がfastaというベンチマークのプログラムを改善したことにより実現しました。 少し前Rubyのベンチマークを書くことにハマっていました。 他の人のプログラムや統計を眺めていたとき、fastaに関してPythonが異常に速いことに気づきました。 他のスクリプト言語のおよそ50倍速く、アルゴリズムが改良されていました。 fasta #6 fasta #7 この2つのコードを比較するとわかるのですが、処理が重複している箇所に
英語版はこちら(English version here)。 本日は、Herokuの歴史において非常に特別な日です ―― Rubyの作者、まつもとゆきひろ氏、Matzを、RubyのチーフアーキテクトとしてHerokuに迎えることになったのです。 ほとんどのプログラミング言語が計算効率を重視していた1993年、Matzは開発者の作業環境、満足度、生産性に重点を置いた言語を生み出したいと考えました。この考えはアジャイル(俊敏な)ソフトウェアメソドロジというトレンドに数年先立つものでした(たとえば2001年に発行されたAgile Software Manifesto)。 このユニークな考えに基づき、Matzは美しくエレガントな言語を生み出しました。この言語の熱心な支持者の数は着実に増加し、David Heinemeier Hansson氏のWebフレームワークRuby on Railsと言った後
このエントリは Ruby Advent Calendar jp: 2009 : ATNDの7日目のエントリです。 上記のページに書いてあるとおり、12月中に1日から25日まで一つずつ Tips を書いていこう!という企画で、その7日目がぼくの担当となっています。 前のエントリはこっち:Ruby1.9に対してできること - takkan_mのNo planな日常 次の人はこっち: Road To RDoc - はてなかよっ! ここからが本題 みなさん irb は使っていると思われますけど irb に限らず、インタラクティブなインターフェイスがあると「ちょっとこの動作を確認したい」という時に重宝しますよね。 いきなり余談ですが 今仕事で Flex を使っているのですが irb に慣れきった体ではちょっとした動作確認などが非常に億劫で億劫で、irbのありがたみを痛感しているところです。 というわ
方針 Rubyをまったく知らない前提で始めます Java、JavaScript、elispのようなメジャーな言語と対比しながら説明します なるべく手を動かして目に見える形で説明を進めます 次回Ruby on Railsの勉強会をするので、それにつながることに重点を置きます 逆に言うと、RoRであまり使わない知識は流します。例えば、ファイル操作周りやスレッド周りなど 開発環境(2) .emacs.elに書くべき記述 ; ruby (autoload 'ruby-mode "ruby-mode") (setq auto-mode-alist (cons '("\\.rb$" . ruby-mode) auto-mode-alist)) (setq interpreter-mode-alist (append '(("ruby" . ruby-mode)) interpreter-mode-al
rails.el は、Emacs で rails スクリプトを書くことを支援する Emacs Lisp プログラムです。ruby-mode に対するマイナーモードとして実装されています。 インストール まず ruby-mode を使えるようにします。ruby-mode.el は ruby に標準でつい てきます。load-path のどこかに ruby-mode.el を置いて、.emacs に以下の 行を追加します。 (setq interpreter-mode-alist (cons '("ruby" . ruby-mode) interpreter-mode-alist)) (setq auto-mode-alist (cons '("\\.rb$" . ruby-mode) auto-mode-alist)) (autoload 'ruby-mode "ruby-mode" ni
ここでは、Rubyによるネットワークプログラミングの説明を行いたいと思います。 ここで対象としている読者は、ネットワークプログラミング初心者(もしくは入門者)です。 TCP 簡単なTCPサーバとクライアント TCPクライアント(エラー処理付き) 何度も受信できるTCPサーバ TCPサーバ(acceptした相手の確認) UDP UDPを使う UDPでブロードキャストを使う UDPでマルチキャストを使う(マルチキャストを送信する) UDPでマルチキャストを使う(マルチキャストを受信する) UDPでマルチキャストを使う(TTLを設定する) Web 簡単なHTTP GET(Net::HTTP) HTTP HEADと全てのHTTPヘッダの表示(Net::HTTP) HTTP POST(Net::HTTP) 簡単なRSSクライアント その他 IO::selectを使う IPアドレスからホスト名への変換
今,注目のスクリプト言語「Ruby」は,作者であるまつもと氏の好みから生まれた。“プログラミング言語おたく”の行き着く先は,言語の設計,そして作成である。それが多くの人に受け入れられるのは望外の喜びだろう。今回はまず,プログラミング言語が作られる背景と現在に至る道程を簡単に解説した後,筆者の視点からプログラミング言語を分類している。実行モデルによる分類と,データ型の取り扱いによる分類,および計算モデルによる分類である。 コンピュータはソフトウェアがなければただの箱です。そしてコンピュータを動かすソフトウェアは誰か人間が書いたものです。そのソフトウェアを書く時に使うのは日本語でも英語でもなく,コンピュータが分かる人工言語を使います。これがプログラミング言語です。 みなさんもプログラミング言語の一つや二つ,名前くらいはご存じでしょう。代表的なプログラミング言語にはCやC++,Javaなどがあり
史上最初のプログラミング言語である1954年に考案された「Fortran」(フォートラン)から、今の各種最新言語に至るまで、いろいろなプログラミング言語が発展していく様子をまとめた巨大な系図を見ることができます。ちゃんと印刷できるようにPDFファイルなども置いてあります。自分の使っている言語がない場合には連絡して欲しいとのことです。 閲覧は以下から。 Computer Languages History (preview) 元のページはココ。A4用紙11枚に及ぶ印刷用PDFファイルなどをダウンロードできます。 Computer Languages History こうやって眺めてみると、いろいろな言語がお互いに少しずつ影響を与えているのがよくわかります。さすがにあまりにもマイナーな言語はサポートしていないようですが、作者に連絡すれば入れてもらえるかも。 一応全言語の一覧は以下から検索できま
ONLamp.com: Rolling with Ruby on Rails を試す 会社ではRubyGems?が使えない ひたすらライブラリをDLしてきて、インストール 嘘だった。 gem install rails -p http://PROXY:8080 でいけた...orz RubyGem? (最初から入ってるなら省略)rubygems-0.8.8.zip をDLしてきて、解凍、 ruby setup.rb install Rake rake-0.4.15.gem をDLしてきて、 gem install --local rake activesupport activesupport-1.0.1.gem をDLしてきて、 gem install --local activesupport activerecord activerecord-1.8.0.gem をDLしてきて、
プログラミング入門 - Rubyを使って - 未来のプログラマのためのチュートリアル 目次 00. はじめに 01. 数(number) 02. 文字列(string) 03. 変数と代入 04. 数と文字列の変換 05. メソッド(method) 06. 制御構造 07. 配列とイテレータ 08. メソッドの作り方 09. クラス 10. ブロックと手続きオブジェクト 11. このチュートリアルを超えて このチュートリアルについて...
Ruby は手軽さと高機能さを併せ持つ、オブジェクト指向のスクリプト言語です。阪大の情報教育システムには、Ruby で作られたツールがたくさん用意されています。これらのツールの仕組みを理解し、改良していくためにも、Ruby の使い方をマスターしましょう。 なお、このページは講義の参照ページです。中身が手抜きなため、このページを読むだけではよくわからないかも知れませんがご了承ください。 目次: Ruby とは Ruby のインストール Ruby の実行 Ruby の特徴 Ruby の基本文法 クラス 文字列 配列 正規表現 組込み変数 制御構文 イテレータ ファイル ソケット スレッド Ruby/GTK2 開発環境・デバッグ 課題 参考情報 Ruby とは Ruby はスクリプト言語の手軽さで、本格的なオブジェクト指向プログラミングが可能な、オブジェクト指向スクリプト言語です。開発者は日本人
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く