タグ

関連タグで絞り込む (192)

タグの絞り込みを解除

Rubyに関するsiroccoのブックマーク (374)

  • 技術/ruby の構文解析器 astrolabe を使ってみた - esa-pages.io

    > イントロイントロ こちらは フィードフォースエンジニア Advent Calendar 2015 - Adventar の 21 日めの記事となります。 前日は meihong さんの Twitter AdsAPI Orientation に行ってきた でした。 技術/今更ながら minitest 入門してみた話 - esa-pages.io に引き続き、茂木がお送りします。 トイレはウォシュレットではなく、トイレットペーパー派です。 さて、今回は ruby の構文解析器について話をしようと思います。 プログラミングとは機械に命令を行わせるために、ルールを作ることです。このルールとはこれまでの歴史上で、沢山の人が作り上げてきました。ruby と呼ばれるプログラム言語もその一つです。 雑に言ってしまうと構文解析器とは、機械に行わせる命令のルールを取り扱うライブラリのことです。 実は Ru

    技術/ruby の構文解析器 astrolabe を使ってみた - esa-pages.io
    sirocco
    sirocco 2015/12/22
    Rubyの構文解析器はlispっぽい解釈をするそうです。
  • 新型Ruby開発へ 設計者表明、IT高度化・複雑化に対応 - 日本経済新聞

    松江発のプログラミング言語「Ruby(ルビー)」を開発した、まつもとゆきひろ氏が新しいバージョンとなる「ルビー3.0」の開発に着手した。12日に松江市で開幕した「Rubyワールドカンファレンス」の基調講演で、IT(情報技術)環境の高度化・複雑化にルビーを対応させる実験を進めていると述べた。1993年に開発を始めたルビーは、設計仕様を公開する「オープンソース」として多数の技術者が改良に参加してい

    新型Ruby開発へ 設計者表明、IT高度化・複雑化に対応 - 日本経済新聞
    sirocco
    sirocco 2015/11/14
    10年前くらいに作ったWindowsで動作するRubyの社内アプリをC#に書き換えました。長期的にメンテナンスされないGUIライブラリを選んでしまったのが大きな原因です。今後を考えるとC#の方が安心。
  • 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
  • これから Ruby を始める人へ紹介したい 3 冊の本

    今年も新しい年度が始まりました。これを機に新しいことにチャレンジしようと思ったり、さまざまな事情で Ruby を始めることになった方のために、おすすめの Ruby 関連書籍を 3 冊紹介します。 言語編まずは言語編です。ここでおすすめする 1 冊は パーフェクトRuby です。理由は、わたしが著者の1人ということもありますが、他にもあります。 このをおすすめする理由は、この 1 冊に Ruby の知識や周辺技術の紹介がある程度網羅的に紹介されているところです。今までだと、言語の知識はそれだけの、周辺技術の紹介ならそれだけのとわかれていることが一般的でした。しかしこのは、それらの知識が 1 冊のにまとめられています。 また Ruby 2.0 のことも紹介されているのも特徴です。 このは、プログラミングを知っていることを前提に書かれているので、プログラミングから入門したいんだという

    これから Ruby を始める人へ紹介したい 3 冊の本
    sirocco
    sirocco 2014/05/06
    これからプログラム言語を学ぶなら、1冊の情報量が多い本は避けるのが無難かと思います。私は「初めてのプログラミング(」 http://www.ie.u-ryukyu.ac.jp/~kono/software/s04/tutorial/ からRubyを学びはじめました。
  • The Qlobe - まめめも

    RubyConf に参加するためには、やっぱり 山手 quine みたいに東京限定ネタは通じにくいですよね。これからは Quine もグローバルでないといけないと感じました。 でも世界的に有名な環状線とか知らないので、世界的に有名な回るものを書いてみました。 v=0000;eval$s=%q~d=%!^Lcf<LK8, _@7gj*LJ=c5nM)Tp1g0%Xv.,S[<>YoP 4ZojjV)O>qIH1/n[|2yE[>:ieC "%.#% :::##" 97N-A&Kj_K_><wS5rtWk@*a+Y5 yH?b[F^e7C/56j|pmRe+:)B "##% ::##########" O98(Zh)'Iof*nm.,$C5Nyt= PPu01Avw^<IiQ=5$'D-y? "##: ###############" g6`YT+qLw9k^ch|K'),tc 6ygIL8x

    The Qlobe - まめめも
    sirocco
    sirocco 2014/02/21
    これもすごい。
  • 放射線耐性 Quine (1 文字消しても動く Quine) - まめめも

    ref: https://github.com/mame/radiation-hardened-quine 放射線はメモリエラーを引き起こすらしいです。そんな放射線が飛び交う過酷な環境でも、できることなら Quine したい。 ということで、プログラム内の 1 文字をランダムに消しても元のプログラムを出力する、なんともロバストな Quine を書きました。*1 何を言っているかわからないと思いますが、こんなふうに動くものです。 # ランダムに 1 文字消すスクリプト $ cat mutate.rb src = $<.read src[rand(src.size), 1] = "" print src # rrquine.rb からランダムに 1 文字消したプログラムを生成する $ ruby mutate.rb rrquine.rb > broken.rb # 壊れたプログラムを実行する (

    放射線耐性 Quine (1 文字消しても動く Quine) - まめめも
    sirocco
    sirocco 2014/02/21
    プログラムは1文字でも間違えば動かなかったり、とんでもないことが起ったりします。ところが、プログラム内の 1 文字をランダムに消しても元のプログラムを出力するコードが書けてしまったそうです。
  • search?q=chrome%20developer%20tools

    Overcome complex cloud challenges and build cloud talent from within

    sirocco
    sirocco 2014/02/20
    最新のRuby は(2.999999999999999::Double)はHaskellと同じ制度で表現できてるようです。Ruby 1.8.7では一桁少なかった。
  • I love CUI

    はじめに Linux (Vine Linux) を使って、CUI の便利さに気がつきました。文字情報を扱うときの CUI のきびきびした反応は魅力的です。しかし、Linux の膨大なツールの数や EMACS などのコマンドの数を見ると、何をどの程度習得すれば良いのか戸惑います。このホームページでは、Linux を知的生産の道具として活用するためには、最低限どのツールをどの程度使いこなせば良いかを考えました。また、併せて、lynx, w3m, emacs, namazu などを組み合わせて作る便利な短いスクリプトを紹介します。 このホームページに掲載したスクリプトは、利用、改造、再配布自由です。著作権は著者が保有しますが、利用、再配布等に際し著作権を明記する必要はありません。また、これらのスクリプトは無保証です。これらのスクリプトによって発生したいかなる障害にも著者は責任を負いません。 知的

    sirocco
    sirocco 2014/01/14
    奥村晴彦さんの「C言語による最新アルゴリズム事典」のコードをRubyに移植した「Ruby でアルゴリズム」やHaskell のブログを書いている方の職業が内科医と知ってびっくり。アーカイバLHAを作った吉崎栄泰さんもお医者さん
  • Rubyist Magazine - スはスペックのス 【第 1 回】 RSpec の概要と、RSpec on Rails (モデル編)

    『るびま』は、Ruby に関する技術記事はもちろんのこと、Rubyist へのインタビューやエッセイ、その他をお届けするウェブ雑誌です。 Rubyist Magazine について 『Rubyist Magazine』、略して『るびま』は、Rubyist の Rubyist による、Rubyist とそうでない人のためのウェブ雑誌です。 最新号 Rubyist Magazine 0063 号 バックナンバー Rubyist Magazine 0063 号 Rubyist Magazine 0062 号 Kaigi on Rails 特集号 RubyKaigi Takeout 2020 特集号 Rubyist Magazine 0061 号 Rubyist Magazine 0060 号 RubyKaigi 2019 直前特集号 Rubyist Magazine 0059 号 Rubyist

    sirocco
    sirocco 2013/11/21
    久しぶりに「るびま」を見ました。みなさん、凄い人たち。
  • Rubyist Magazine - スはスペックのス 【第 1 回】 RSpec の概要と、RSpec on Rails (モデル編)

    『るびま』は、Ruby に関する技術記事はもちろんのこと、Rubyist へのインタビューやエッセイ、その他をお届けするウェブ雑誌です。 Rubyist Magazine について 『Rubyist Magazine』、略して『るびま』は、Rubyist の Rubyist による、Rubyist とそうでない人のためのウェブ雑誌です。 最新号 Rubyist Magazine 0063 号 バックナンバー Rubyist Magazine 0063 号 Rubyist Magazine 0062 号 Kaigi on Rails 特集号 RubyKaigi Takeout 2020 特集号 Rubyist Magazine 0061 号 Rubyist Magazine 0060 号 RubyKaigi 2019 直前特集号 Rubyist Magazine 0059 号 Rubyist

    sirocco
    sirocco 2013/05/30
    「Perlを知らずしてスクリプト言語を深く語るのは難しいし、 Lispの知識なくRubyを深く語ることは難しい。『 PHP使いの反論』 Matzにっき(2008-01-29)」からSchemeを学びHaskellerになりました。
  • るびま

    『るびま』は、Ruby に関する技術記事はもちろんのこと、Rubyist へのインタビューやエッセイ、その他をお届けするウェブ雑誌です。 Rubyist Magazine について 『Rubyist Magazine』、略して『るびま』は、日 Ruby の会の有志による Rubyist の Rubyist による、Rubyist とそうでない人のためのウェブ雑誌です。 最新号 Rubyist Magazine 0058 号 バックナンバー Rubyist Magazine 0058 号 RubyKaigi 2018 直前特集号 Rubyist Magazine 0057 号 RubyKaigi 2017 直前特集号 Rubyist Magazine 0056 号 Rubyist Magazine 0055 号 Rubyist Magazine 0054 号 東京 Ruby 会議 11 直

    sirocco
    sirocco 2013/03/16
    Ruby 2.0 は遅延評価が出来るようになったそうです。
  • スクリプト言語“Ruby”の誕生から20年、新しい安定版「Ruby 2.0.0」がリリース

    sirocco
    sirocco 2013/03/02
    Matz が「Perlを知らずしてスクリプト言語を深く語るのは難しいし、Lispの知識なくRubyを深く語ることは難しい」と言っていたことから、Scheme -> Haskell を学んでます。Ruby に感謝です。
  • 「Rubyは言語として2.0でほぼ完成」、まつもとゆきひろ氏が講演

    Rubyはバージョン2.0で、言語としてほぼ完成した」――。東京・目黒雅叙園で2月15日まで開催している「Developers Summit 2013」で、Rubyの生みの親であるまつもとゆきひろ氏(写真)はこう宣言した。 Ruby 2.0は、Ruby生誕20周年を記念して、2013年2月24日にリリースする予定の新バージョン。まつもと氏は講演の中で、バージョン2.0の新機能を披露するとともに、Rubyの今後についても言及した。「言語を壊さず(互換性を維持した状態で)、これ以上新しい機能を追加するのは難しい」(まつもと氏)ため、言語仕様としてはほぼ完成したと考えているという。しかし「言語は改善を続けなければ死んでしまう。今後もRubyの実装をより高速化したり、マルチコアへの対応を強化するするなど、互換性を維持した形でRubyをより良くしていきたい」考えだ。 今回の講演ではRuby 2.0

    「Rubyは言語として2.0でほぼ完成」、まつもとゆきひろ氏が講演
    sirocco
    sirocco 2013/02/15
    引数がいっぱいあって、特別に指定しないとデフォルトの値になるけど、指定したい引数はラベルをつける。今まではHash にして渡していたけど、その方法が楽になるもよう。柔軟さについてHaskell とは随分違う。
  • 本家の5倍速? Pythonで実装したRuby処理系の「Topaz」が登場:Rails Hub情報局:エンジニアライフ

    時間だと2013年2月7日未明のことですが、「Topaz」(トパーズ)と名付けられたPythonで実装されたRubyのバージョン0.1がリリースされました(リリースに関するブログ、プロジェクトのページ、GitHubのリポジトリ)。Ruby処理系はC、Java(JVM)、Ruby、CLI、JavaScript、Smalltalkなどによる実装がありましたが、Pythonというのは、ちょっと驚きです。ただ、Pythonといっても、Python言語で書くのが主眼なのではなく、Pythonエコシステムで高速処理を目指して作られた「PyPy(パイパイ)」の成果物の上に実装したというのがTopazのようです。現在のところコード作者リストに9人の名前が上がっていて、JRuby実装で知られるチャールズ・ナッター氏の名前も入っています。 Topazは正確にはPythonではなく、RPythonと呼ばれる

    本家の5倍速? Pythonで実装したRuby処理系の「Topaz」が登場:Rails Hub情報局:エンジニアライフ
  • cdbiff: メールの到着を CD-ROMドライブでお知らせ

    What's cdbiff? cdbiff is a tool for notifying you of mail arrival using a CD-ROM drive. cdbiff execute `eject' command to eject a CD-ROM tray when mail arrives. Usage cdbiff is written in Ruby. It works with Linux. Usage: cdbiff [OPTION] -f, --file=FILE Monitor FILE [/var/mail/$USER] -c, --command=COMMAND Execute COMMAND when mail arrives [eject] -i, --interval=SECONDS Monitor at intervals of SECO

    sirocco
    sirocco 2013/01/21
    CD-ROMを取り出すといえばこれが元祖でしょう。
  • [ruby-core:50443] [ANN] ruby 2.0.0-preview2 released

    Subject: [ruby-core:50443] [ANN] ruby 2.0.0-preview2 released From: Yusuke Endoh <mame@ g e p Date: Sat, 1 Dec 2012 23:48:48 +0900 Japanese follows; 日語はあとで Hello all -- We are pleased to announce the release of Ruby 2.0.0-preview2. Please try it and give us feedback on anything you notice. * http://ftp.ruby-lang.org/pub/ruby/2.0/ruby-2.0.0-preview2.tar.bz2 SIZE: 10722295 bytes MD5: a645a783c3302c

    sirocco
    sirocco 2012/12/02
    楽しいオモチャだったPCがDOS、Windowsと巨大なブラックボックスになって楽しくないものになって行きました。それを私のコンピュータ、マイコン感覚の楽しさを取り戻してくれたのがLinux、そして、Rubyでした。祝2.0!
  • プログラミング入門 - Rubyを使って -, by Chris Pine, 日本語ver. by S. Nishiyama

    未来のプログラマのためのチュートリアル 目次 00.  はじめに 01.  数(number) 02.  文字列(string) 03.  変数と代入 04.  数と文字列の変換 05.  メソッド(method) 06.  制御構造 07.  配列とイテレータ 08.  メソッドの作り方 09.  クラス 10.  ブロックと手続きオブジェクト 11.  このチュートリアルを超えて このチュートリアルについて...

    sirocco
    sirocco 2012/05/22
    私はここで Ruby を学習しました。とても分かりやすいのでプログラミングが初めての人でも理解できると思います。最初はシンプルがベストです。
  • これからRubyを始める人たちへ

    (追記:2012-12-03) 記事を電子書籍化しました。「Gumroad」を通して100円にて販売しています。詳細は文末に追記しましたので、購入ご検討のほどよろしくお願いしますm(__)m 電子書籍「これからRubyを始める人たちへ」EPUB版 Rubyの特徴 Rubyは、まつもとゆきひろ氏(通称Matz)により設計されたオブジェクト指向プログラミング言語です。Rubyの特徴を一言で言うならば、それは「間口が広くて奥が深い言語」ということになります。 「間口が広い」というのは、インタフェースがシンプルで誰でもが簡単に使い始められることを意味します。「奥が深い」というのは、プロフェッショナルによる長期使用に耐えうる物の言語であるということを意味します。「間口が広い」ということと「奥が深い」ということは来競合する概念ではありませんが、その両方をバランスよく組み合わせるには、対象に対する

    sirocco
    sirocco 2012/04/11
    Haskell は「奥が深い」のはRubyに負けてないけれど、「誰でもが簡単に使い始められる」は負けている。
  • win32/clipboard のインストールにてこずるの巻 - @jitteの日記

    ああもう、10分くらいで終わる見込みでやりかけた仕事が3時間もかかっちゃったじゃん! (1) gemから直接インストール 以前はこれでOKだったのだけど・・・ gem install win32-clipboard ---- Building native extensions. This could take a while... ERROR: Error installing win32-clipboard: ERROR: Failed to build gem native extension. C:/Ruby/bin/ruby.exe extconf.rb install -r win32-clipboard can't find header files for ruby. Gem files will remain installed in C:/Ruby/lib/ruby/g

    win32/clipboard のインストールにてこずるの巻 - @jitteの日記
    sirocco
    sirocco 2011/12/02
    Ruby に win32/clipboardというのがあるらしい。
  • LLDN / キミならどう書く規定部門 Ruby 編

    $Id: index.html,v 1.7 2005/08/26 12:46:50 aamine Exp $ 2005 年度 LLDN (Lightweight Language Day and Night) 「キミならどう書く」規定部門 Ruby 編のコードを解説します。 発表者 青木峰郎 (日Rubyの会) Ruby標準添付ライブラリメンテナ。 主著『Rubyソースコード完全解説』 (インプレス)、 『ふつうのLinuxプログラミング』 (ソフトバンクパブリッシング)。 ソースコード まとめてダウンロード: [tar.gz] [zip] jncalculator.y component.rb 動作確認 ~/c/lldn % ruby -Ke jncalculator.rb JCALC> JCALC> 0 〇 JCALC> 1 一 JCALC> 1+1 二 JCALC> 一+〇 一 J

    sirocco
    sirocco 2011/10/15
    こっちがRubyバージョン。