Opal is truly amazing and it has taken me in a whole new direction. — @mistergibson from Gitter, on Jan 22 2018 [about Opal 1.7] Fantastic! No failing specs for [isomorfeus](https://github.com/isomorfeus/isomorfeus-project#readme), asset size reduced, performance a tiny bit improved too :+1: — @janbiedermann, on Dec 25th 2022 These guys are great. We have a large production app (www.catprint.com)
Overview: See the CHANGELOG for more information on what's changed Welcome to the official wiki for the Pry REPL: a powerful IRB alternative and runtime developer console for Ruby. Note that not every aspect of Pry is covered in the material below, just a very significant chunk. For basic information on getting started it is recommended you watch the introductory screencast. At the moment, the sup
あなたは,下記のコードを理解できない。 p f /g+h/i これはRubyのコードである。「p」は,コンソールに出力する関数である。 問: だいたい,何をやっているコードですか? ※例えば,四則演算など。 構文をおおまかに説明して下さい。 どれが変数で,どれが関数で,どれが演算子か? ↓回答 回答: 一意に決定できない。 下記に, このコードの複数の解釈方法と, この件が引き起こす問題 について述べる。 ※なお,この問題が起きるのは動的言語に限らず,静的言語でも同様に発生しうることを前もって述べておく。 (1)分数の計算とみなすパターン 先行するコードを下記のように書いた場合: test1.rb # 変数に数値を代入 f = 2 g = 1 h = 2 i = 1 # 演算結果をpで出力する p f /g+h/i 実行結果: >ruby test1.rb 4 「分数の計算」とみなされる。
「気分やノリがソフトウェア開発には重要だ」と断言し、そこに注目して自らRubyを開発してきたまつもとゆきひろ氏は、どのようにしてプログラマに育ち、Rubyを生み出し、そして開発を続けてきたのでしょうか? 今や日本初のオープンソースソフトウェアとして100万人規模のユーザを持つRuby。数々の賞を受け、なおも変化と成長を見据えるまつもと氏が日本最大のゲーム開発者向けカンファレンス「CEDEC2011」にて、自らの若かりし日々から長いRubyの開発の歴史とそこで培われたコンセプト、そして未来への展望までを余すところなく披露してくれました。「Ruby開発が教えてくれたこと」と題されたこの講演の全内容は以下から。 まつもと: はじめまして、まつもとゆきひろです。 最近はRubyを開発した人ということで有名になりましたが、Ruby自体ゲームのソフトウェアというより、それを動かすサーバとして使用して頂
最近不適切にFizzBuzzをやるのが楽しく、常にFizzBuzzのことばかり考えている気がします。これが"恋"というものなのでしょうか。 というわけなので、最近書いたFizzBuzzをいくつか紹介したいと思います。 basic.rb 基本パターン (1..100).each do |n| puts case 0 when n % 15 then :FizzBuzz when n % 3 then :Fizz when n % 5 then :Buzz else n end end いいですね。ポイントはcaseの使い方です。caseは、caseに渡したオブジェクトと、各when節の評価結果を===メソッドで比較します。例えばFizzBuzzに該当するかの判定部分は0 === n % 15といった処理が走ることになるわけですね。 tap.rb tap with breakの活用
はじめに 先月、CodeIQにビンゴカード作成問題を出題しました。 CodeIQに「ビンゴカード作成問題」を出題しました。みなさんの挑戦をお待ちしてます! - give IT a try このビンゴカード作成問題、ありがたいことに50人もの方が解答を送ってくれました。 挑戦してくださったみなさん、どうもありがとうございました。 前回のエントリでは優秀作品ベスト3を発表しました。 今回のエントリはその続編です。 一部の解答(5本)について、僕が実際にいただいた解答を採点しつつ、リファクタリングする様子を動画に撮っておいたので、その様子をお見せしちゃいます。 おさらい「ビンゴカード作成問題」とは? ビンゴカード作成問題とはその名の通り、Rubyを使ってビンゴカードを出力する問題です。 Bingo.generate_cardというメソッドを呼ぶと以下のような文字列を出力する、というのが要求仕様で
As a developer, you spend 90% of your time on code-related activities like reading and maintaining existing code. With such a large chunk of time spent on these tasks, it’s crucial to make sure everything you do (and code) is efficient. While metaprogramming with Ruby can be extremely powerful, using clever metaprogramming that makes it difficult to read or making bad tradeoffs will, ultimately, i
Rubyはたのしい言語です。Rubyを触っているとマニュアルにも書いていない「小さな発見」に遭遇することがよくあります。このような「発見」は、プログラムの質や効率の改善には直結しないかもしれません。いや、むしろチームプログラミングでは妨げになる可能性すらあります。しかしその一方で、言語自体が自分の知らない領域を持ち続けていることが、その対象に対する興味を失わせないための大きな要因である、というのもまた疑いのない事実なのです。つまり「発見」はたのしさに直結しているのです。 このブログにおいて「知って得するRubyのトリビアな記法」というタイトルで、今まで3回記事を書きました。 “知って得する21のRubyのトリビアな記法” “第2弾!知って得する12のRubyのトリビアな記法” “第3弾!知って得する12のRubyのトリビアな記法” これらのトリビアには、ネット検索で見つけたもの、Twitt
In this article, I want to show you 10 nice Ruby features that you may know or not. Anyway, it’s a quick read and it’s always interesting to learn new stuff, right?! 1. Create a hash from a list of values You can create a hash from a list of values by using Hash[...]. It will create a hash like below: Hash['key1', 'value1', 'key2', 'value2'] # => {"key1"=>"value1", "key2"=>"value2"} 2. Lambda Lite
Credit: This article is based off of the templating library mote. I was inspired by the simplicity of the library and it makes a great study piece for those who haven’t looked into the internals of templating engines before. Preface: What is templating? Template engines are tools that generate text (strings) from templates and help separate presentation from application logic. Unless you’ve been s
先日、あるRuby会議での雑談中に、こんなものが必要かなぁ、と感じたのでまとめてみています。随時コメント歓迎( @ksmakoto 等まで)。 前史 1988年(ないし1989年 (別冊であるので、その『bit』本誌が1月号か?)): 『bit』別冊「Common Lisp オブジェクトシステム ――CLOSとその周辺――」(単行本として再版されている http://www.kyoritsu-pub.co.jp/bookdetail/9784320122543 )この本の第1章§3.3(p. 18)に「筆者はこうしたことのためのメソッドを特異メソッドと呼んでいる」とある(井田昌之先生による)のが、Rubyの特異メソッドの由来( #:g1: 特異メソッドという訳語の謎 も参照)。 誕生〜20世紀 1993年2月24日: 「まつもとさんが作ろうと思った」( [ruby-list:6553] )
Sam Saffron Programming, Technology and the Art of Hacking At some point in the life of every Rails developer you are bound to hit a memory leak. It may be tiny amount of constant memory growth, or a spurt of growth that hits you on the job queue when certain jobs run. Sadly, most Ruby devs out there simply employ monit , inspeqtor or unicorn worker killers. This allows you to move along and do mo
はじめに 私最近、SeleniumWebDriver+capybara+cucumberでテストをゴリゴリ書いています しかし今や骨董品なのかもしれないWatirを使って自動テストを書いてみようと思ったので、導入手順 / テスト作成 / 実行方法のメモを残してみた 正直Seleniumとできることは似ていると思ったが、手軽さはなんとなくこっちかな ここにも書いてあるが確かに5分でテストが書ける! JavascriptベースのSeleniumとなら、いくつか使うメリットがあるかもしれない 例えば、セキュリティ上の都合でJavascriptでは難しい操作が可能など 比較されている記事があった しかし、Selenium 2.0(Selenium WebDriver)があるので、あえてWatirを使う人は少ないだろうと感じた 検証環境は以下の通り OS: Windows7 Ruby: 1.9.3
Ruby + Type = Rubype 既存のコードとの互換性を崩すことなく、選択的にメソッドに型保証を与えるGemです. Github HP HackerNews ここで指す'メソッドの型保証'とは実行時レベルでメソッドの引数返値のクラス型や反応すべきメソッドを保証する事です. 得られる一般的な型保証のメリット Executableなドキュメントをコード内に付与出来る. エラーがより意味のあるエラーになる. Rubypeが確かであるならば引数返値チェックの処理は一切不要となる この様な形で型情報付与するからこそ出来ること. 実行時に動的に型の付与変更、型情報の確認がする事も出来る.(型情報もオブジェクト) クラス型のみではなく、反応すべきメソッドをシンボルで指定する事が可能 このGemのデメリット、至らぬところ 当該メソッドを呼び出す度に型チェックを行うのでオーバヘッドが生まれる. (
あいさつ 計算機による一階述語論理の決定不能の取り扱い方を調べる中で コンビネーター理論の理解が深まったので筆を取る事にした. このたぐいのテクを用いると、識別子に依らない関数の再帰を定義出来る(!!) # Zコンビネーター Z = ->(f) { ->(x){ f.( ->(y) {x.(x).(y)} ) }.( ->(x){ f.( ->(y) {x.(x).(y)} ) } ) } # 識別子に依らずに階乗を定義! Z.(->(_){ ->(n){ n == 0 ? 1 : n * _.(n-1) } }).(5) # => 120 以下説明 自分の理解度の確認のためにも用語を1つ1つ丁寧に積み重ねて分かりやすくしたつもり. λ式とは λ式なんていかがわしい言葉を使っているがメチャ簡単な事、でも実は難しい. 皆さんおなじみ2次関数
fooo↑↑ 動機 僕はただの数学/統計系の学部生で、RやMathematicaなどの言語を強いられる事が多いのですが、 RubyやHaskellやScalaなどのステキな言語を知っていると「ちょっとな〜」と思っておりましたところ、 突然「あ、新しい言語作らなアカン」という不可思議な衝動に駆られ ガッと取り憑かれたように実装し、少し冷静になってQiitaを書いているのが今です. フィードバックを頂きながら育てて行きたいと思います(コミッター絶賛募集中、ワイワイ楽しくやりたいです. アメちゃん差し上げるのでお願いします. ) 現在はコンパイラと4秒くらいで作ったインタプリタがあります. ポリシー 一番大きな観念としては 「紙とペンの感動をキーボードで」 です. 後々の可読性や保守性などはどうでもよくて、 「その瞬間(コードを書いている瞬間)の気持ちよさ、心地よさ、そしてその返値を楽しむ事」
最近、RubyやRails系の入門チュートリアルを中心にいくつかの記事があったので、知っている入門系チュートリアルを一式をまとめてみました。本当の初心者な方から、本格的にRubyを勉強したいと思う人にすっごいオススメです! (2016/02/20 17:30) 全般的に内容をリファクタリング 😎 スライド 拙著ですが、Railsをスタートダッシュして学ぶときに良さそうな記事や資料をまとめました。 Ruby 概論のスライド Spice Life CTOの五十嵐邦明さんの一橋大学での講義「Ruby概論」のスライド。 🎳 動画 Ruby入門 (全22回) Ruby on Rails 4入門 (全28回) 最初に見てほしいのがRuby/Railsのドットインストール。このあたりから少しずつ始めていくといいと思います! 🐞 ハンズオンProgate | プログラミングの入門なら基礎から学べるP
ブログを更新しました。元の記事はコチラ 基本だけどRubyっぽいものをまとめてみた。好みもあるだろうけど、良い例、悪い例の比較。Code Schoolがとても分かりやすかったのでお勧め。 code school # ---------------------------------------------- # # Expressions # ---------------------------------------------- # # 評価に関しての注意 # ---------------------------- # post = "my post" #**BAD**# if post != nil puts post end #**GOOD**# 省略できる if post puts post end # 下記はTRUEなので注意 # "" -> TRUE # 0 -> TRU
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く