> イントロイントロ こちらは フィードフォースエンジニア Advent Calendar 2015 - Adventar の 21 日めの記事となります。 前日は meihong さんのTwitter AdsAPI Orientation に行ってきた でした。技術/今更ながら minitest 入門してみた話 - esa-pages.io に引き続き、茂木がお送りします。 トイレはウォシュレットではなく、トイレットペーパー派です。 さて、今回はruby の構文解析器について話をしようと思います。 プログラミングとは機械に命令を行わせるために、ルールを作ることです。このルールとはこれまでの歴史上で、沢山の人が作り上げてきました。ruby と呼ばれるプログラム言語もその一つです。 雑に言ってしまうと構文解析器とは、機械に行わせる命令のルールを取り扱うライブラリのことです。 実は Ru
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 を始めることになった方のために、おすすめのRuby 関連書籍を 3 冊紹介します。 まずは言語編です。ここでおすすめする 1 冊は パーフェクトRuby です。理由は、わたしが著者の1人ということもありますが、他にもあります。 この本をおすすめする理由は、この 1 冊にRuby の知識や周辺技術の紹介がある程度網羅的に紹介されているところです。今までだと、言語の知識はそれだけの本、周辺技術の紹介ならそれだけの本とわかれていることが一般的でした。しかしこの本は、それらの知識が 1 冊の本にまとめられています。 またRuby 2.0 のことも紹介されているのも特徴です。 この本は、プログラミングを知っていることを前提に書かれているので、プログラミングから入門したいんだという方には
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
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 # 壊れたプログラムを実行する (
With your Pluralsight plan, you can: With your 30-day pilot, you can: Access thousands of videos to develop critical skills Give up to 50 users access to thousands of video courses Practice and apply skills with interactive courses and projects See skills,usage, andtrend data for your teams Prepare for certifications with industry-leading practice exams Measure proficiency across skills and role
はじめにLinux (VineLinux) を使って、CUI の便利さに気がつきました。文字情報を扱うときの CUI のきびきびした反応は魅力的です。しかし、Linux の膨大なツールの数やEMACS などのコマンドの数を見ると、何をどの程度習得すれば良いのか戸惑います。このホームページでは、Linux を知的生産の道具として活用するためには、最低限どのツールをどの程度使いこなせば良いかを考えました。また、併せて、lynx,w3m,emacs, namazu などを組み合わせて作る便利な短いスクリプトを紹介します。 このホームページに掲載したスクリプトは、利用、改造、再配布自由です。著作権は著者が保有しますが、利用、再配布等に際し著作権を明記する必要はありません。また、これらのスクリプトは無保証です。これらのスクリプトによって発生したいかなる障害にも著者は責任を負いません。 知的
『るびま』は、Ruby に関する技術記事はもちろんのこと、Rubyist へのインタビューやエッセイ、その他をお届けするウェブ雑誌です。Rubyist Magazine について 『Rubyist Magazine』、略して『るびま』は、Rubyist のRubyist による、Rubyist とそうでない人のためのウェブ雑誌です。 最新号Rubyist Magazine 0064 号 バックナンバーRubyist Magazine 0064 号Rubyist Magazine 0063 号Rubyist Magazine 0062 号 Kaigi onRails 特集号RubyKaigi Takeout 2020 特集号Rubyist Magazine 0061 号Rubyist Magazine 0060 号RubyKaigi 2019 直前特集号Rubyist
『るびま』は、Ruby に関する技術記事はもちろんのこと、Rubyist へのインタビューやエッセイ、その他をお届けするウェブ雑誌です。Rubyist Magazine について 『Rubyist Magazine』、略して『るびま』は、Rubyist のRubyist による、Rubyist とそうでない人のためのウェブ雑誌です。 最新号Rubyist Magazine 0064 号 バックナンバーRubyist Magazine 0064 号Rubyist Magazine 0063 号Rubyist Magazine 0062 号 Kaigi onRails 特集号RubyKaigi Takeout 2020 特集号Rubyist Magazine 0061 号Rubyist Magazine 0060 号RubyKaigi 2019 直前特集号Rubyist
『るびま』は、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 直
「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
日本時間だと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と呼ばれる
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 inRuby.It works withLinux.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
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 +0900Japanese follows; 日本語はあとで Hello all -- We are pleased to announce the release ofRuby 2.0.0-preview2. Please tryit 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
未来のプログラマのためのチュートリアル 目次 00. はじめに 01. 数(number) 02. 文字列(string) 03. 変数と代入 04. 数と文字列の変換 05. メソッド(method) 06. 制御構造 07. 配列とイテレータ 08. メソッドの作り方 09. クラス 10. ブロックと手続きオブジェクト 11. このチュートリアルを超えて このチュートリアルについて...
(追記:2012-12-03)本記事を電子書籍化しました。「Gumroad」を通して100円にて販売しています。詳細は文末に追記しましたので、購入ご検討のほどよろしくお願いしますm(__)m電子書籍「これからRubyを始める人たちへ」EPUB版Rubyの特徴Rubyは、まつもとゆきひろ氏(通称Matz)により設計されたオブジェクト指向プログラミング言語です。Rubyの特徴を一言で言うならば、それは「間口が広くて奥が深い言語」ということになります。 「間口が広い」というのは、インタフェースがシンプルで誰でもが簡単に使い始められることを意味します。「奥が深い」というのは、プロフェッショナルによる長期使用に耐えうる本物の言語であるということを意味します。「間口が広い」ということと「奥が深い」ということは本来競合する概念ではありませんが、その両方をバランスよく組み合わせるには、対象に対する
ああもう、10分くらいで終わる見込みでやりかけた仕事が3時間もかかっちゃったじゃん! (1) gemから直接インストール 以前はこれでOKだったのだけど・・・ gem install win32-clipboard ----Building native extensions. This could take a while...ERROR:Error installing win32-clipboard:ERROR: Failed tobuild gem native extension. C:/Ruby/bin/ruby.exe extconf.rb install -r win32-clipboard can't find header files forruby. Gem files will remain installed in C:/Ruby/lib/ruby/g
$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
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く