タグ

Rubyとprogrammingに関するsiroccoのブックマーク (12)

  • 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 文字をランダムに消しても元のプログラムを出力するコードが書けてしまったそうです。
  • 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を作った吉崎栄泰さんもお医者さん
  • 「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 とは随分違う。
  • プログラミング入門 - 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 を学習しました。とても分かりやすいのでプログラミングが初めての人でも理解できると思います。最初はシンプルがベストです。
  • 数万のソースコードから目的の一行を一瞬で見つけ出す、Milkode - おんがえしの blog

    最新バージョンはコチラです。 Milkode(ミルコード)はソースコード検索エンジンです。手元にある大量のソースコードを登録し、ブラウザで閲覧したり検索することが出来ます。20000ファイル位であれば1秒位で特定の一行を見つけることが可能です。 Rubyで書かれており、使っているライブラリも含めてRubyGem経由でインストールすることが出来ます。 OSX, Unix $ sudo gem install milkode Windows(32bit) $ gem.bat install rroonga --platform x86-mingw32 $ gem.bat install milkode Windows(64bit) ※ 事前に64bit版rroongaのインストールが必要です。 $ gem.bat install milkode詳しいインストール方法はホームページをご覧下さい。

    数万のソースコードから目的の一行を一瞬で見つけ出す、Milkode - おんがえしの blog
  • Windchase - GUI のイベントスクリプティング

    http://subtech.g.hatena.ne.jp/secondlife/20070813/1186999047 より まずイベントドリブンなプログラミングに慣れてないのが一つで。Flex のイベントや自前イベントやをただ単に投げまくってると、とりあえずは動くけど後からメンテし辛いスパゲッティコードができあがる。このスパゲッティコードは goto 文が乱立するコードよりも酷く、goto だったら割と行き先は把握できるけど、イベントを投げまくってるだけだと、どこでどのオブジェクトがこのイベントを受け取るかが解らない。解りづらい。いちいちソースコード grep ですね、おめでたいですね。あのイベントが発生してから、そのイベントが終了したら発生するイベントが終了したらウィンドウ閉じて、その間は別のイベントはブロックして/発生しないようにして、とかもうわけわかんない。これも GUI プログ

    Windchase - GUI のイベントスクリプティング
  • いやなブログ: 配列操作の比較表: Ruby, Python, JavaScript, Perl, C++

    配列操作の比較表: Ruby, Python, JavaScript, Perl, C++ プログラムを書いていると、他のプログラミング言語の記憶とごっちゃになって、「配列の後ろに要素を追加するのは push だっけ、 append だっけ」などと混乱することがあります。特に Ruby, Python, JavaScript はコードの書き方が似ているので、この問題が起きがちです。 そこで、備忘録として、 Ruby, Python, JavaScript, Perl, C++ の配列操作の比較表を作りました。一番慣れている Ruby を基準にしています。間違いなどがあったらご指摘いただけると助かります。他の言語のもあるといいなあ。 Ruby (Array) Python (list) JavaScript (Array) Perl (@) C++ (std::vector)

  • 関数プログラミングへの招待

    更新履歴過去分等 2006/11/28 : Links modified (Linkを修正しました。) 2005/07/16 : Link added in Clean site (Linkを追加しました) 2005/06/04 : "How to use Clean IDE" updated (Clean IDEの使い方を更新しました) 2004/12/03 : Functional programming in Ruby modified (Rubyで関数プログラミングを一部修正しました) 11/26 : Programming language concept added (プログラミング言語の基礎概念を一部追加しました) 2004/11/02 : Clean related sites linked (Clean関連サイトのリンクを追加しました) 09/21 : Object I

  • Ruby Programming - Wikibooks, collection of open-content textbooks

    Ruby is an interpreted, object-oriented scripting language. Its creator, Yukihiro Matsumoto, a.k.a "Matz" released it to the public in 1995. The book is currently broken down into several sections, and is intended to be read sequentially. Getting started will show how to install and get started with Ruby in your environment. Basic Ruby demonstrates the main features of the language syntax. The fin

  • Rubyレシピ

    This domain may be for sale!

  • スクリプト言語の比較

    スクリプト言語の比較 *1 *2 *3 *4 *5 *6 *7 コメント 行の継続 定数 未代入の変数へのアクセス 変数の展開 入出力 出力 フォーマット出力 出力先変更 標準入力 __END__ 演算 +1 整数/整数 負数の除算 文字列 真と偽 多重代入 多岐分岐 関数 関数 関数引き数 関数引数に対する副作用 関数のデフォルト引数の値の評価タイミング 関数のデフォルト引数にコンテナ型を使用した場合の振舞 関数戻り値 関数の再帰 関数の別名 関数定義内関数定義 関数の引数の順番 関数にファイルハンドルを渡す オブジェクト指向 クラスの定義 インスタンスメソッドの定義 メソッドのクラス内での利用 インスタンスメソッドの可視性 インスタンスメソッドの追加 インスタンス変数 インスタンス変数の可視性 インスタンス変数の追加 クラス変数 クラスの継承 多重継承 スーパクラスのメソッド呼び出し

  • 1