Submit Search
Rubyにメソッドを追加して遊ぶ話
0 likes
487 views
Masaya Konishi
CRubyの実装を読んで、ちょっと弄ってみようという話です。
Technology
Read more
1 of 15
Download now
Download to read offline
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
More Related Content
PDF
レイマーチ入門勉強会資料
Kazuya Hiruma
PPTX
Ruby と C# をつなぐ
107steps
PDF
mruby for embedded systems
masayoshi takahashi
PDF
Rubyボードハンズオンテキスト
三七男 山本
PDF
Kansai mrb gr_sakura
Kosuga Masakatsu
PDF
GR-CITRUSの紹介
三七男 山本
PDF
20160618 第23回シェル芸勉強会LT コマンドプロンプト芸
kunst1080
PPTX
Crystal勉強会#4 LT資料
Taichiro Suzuki
レイマーチ入門勉強会資料
Kazuya Hiruma
Ruby と C# をつなぐ
107steps
mruby for embedded systems
masayoshi takahashi
Rubyボードハンズオンテキスト
三七男 山本
Kansai mrb gr_sakura
Kosuga Masakatsu
GR-CITRUSの紹介
三七男 山本
20160618 第23回シェル芸勉強会LT コマンドプロンプト芸
kunst1080
Crystal勉強会#4 LT資料
Taichiro Suzuki
What's hot
(15)
PDF
30days Album の裏側 + 表側
Kensuke Nagae
PDF
mrubyのfiberを試してみた
Kindai University
PDF
JavaScriptとCollection
Kazuhiro Karino
PDF
実はこんなこともできる Fireworksの裏技
Akira Maruyama
PDF
ROS JAPAN Users Group Meetup 01
Daiki Maekawa
PDF
three.js の紹介
Sho Hosoda
PDF
Gc 擬(もどき)を js で書いてみた
to_ueda
PDF
Gitを使ったRoute53の管理
Sugawara Genki
PDF
Js祭り
Yoshihiko Hoshino
PDF
NCSA httpdとCGIの思い出
Mitsunori Satomi
PDF
仮想記憶の構築法
magoroku Yamamoto
PDF
Ruby
Shintaro Abe
PDF
My misstake on Ansible’s lineinfile module
Yukiya Hayashi
ODP
Bsd daemon read
geek_alice
PPT
2011 06 18_open_streetmap_neta_no1
Tom Hayakawa
30days Album の裏側 + 表側
Kensuke Nagae
mrubyのfiberを試してみた
Kindai University
JavaScriptとCollection
Kazuhiro Karino
実はこんなこともできる Fireworksの裏技
Akira Maruyama
ROS JAPAN Users Group Meetup 01
Daiki Maekawa
three.js の紹介
Sho Hosoda
Gc 擬(もどき)を js で書いてみた
to_ueda
Gitを使ったRoute53の管理
Sugawara Genki
Js祭り
Yoshihiko Hoshino
NCSA httpdとCGIの思い出
Mitsunori Satomi
仮想記憶の構築法
magoroku Yamamoto
Ruby
Shintaro Abe
My misstake on Ansible’s lineinfile module
Yukiya Hayashi
Bsd daemon read
geek_alice
2011 06 18_open_streetmap_neta_no1
Tom Hayakawa
Ad
Similar to Rubyにメソッドを追加して遊ぶ話
(20)
PDF
ffi for rubyists
nanki
PDF
ゲットーの斜め上をゆくWebアプリケーションフレームワークの開発
emasaka
PDF
Ruby Sapporo Night Vol4
Koji SHIMADA
PDF
Meguro.rb#3LT「Ruby入門書を書いてて得られた知見5選+3α」
Tsutomu Chikuba
PDF
軽量Ruby『mruby』について
Ryosuke MATSUMOTO
PPTX
Ruby enumerable source code reading
do_aki
PDF
はじめてのRuby拡張ライブラリ
Masahiro Tomita
PDF
Rubinius Under a Microscope
高広 内山
PDF
メタメタプログラミングRuby
emasaka
PDF
Rails初心者レッスン lesson1 3rd edition
Goh Matsumoto
PDF
docs.ruby-lang.org/ja/ の生成方法を (GitHub Actions に)変えた
Kazuhiro Nishiyama
PPTX
シラサギハンズオン 1015 1016
Yu Ito
PDF
成長を加速する minne の技術基盤戦略
Hiroshi SHIBATA
PDF
Hacking Ruby with Python
Taisuke Yamada
PPT
20091119_sinatraを使ってみた
ngi group.
PDF
Railsの開発環境作るぞ
Yoichi Toyota
PDF
Rails初心者レッスン lesson4 2edition
Satomi Tsujita
PDF
20100930 sig startups
Ichiro Fukuda
KEY
Bundler kanazawa.rb meetup #2 2012/09/19
Hitoshi Kurokawa
PDF
エコなWebサーバー
emasaka
ffi for rubyists
nanki
ゲットーの斜め上をゆくWebアプリケーションフレームワークの開発
emasaka
Ruby Sapporo Night Vol4
Koji SHIMADA
Meguro.rb#3LT「Ruby入門書を書いてて得られた知見5選+3α」
Tsutomu Chikuba
軽量Ruby『mruby』について
Ryosuke MATSUMOTO
Ruby enumerable source code reading
do_aki
はじめてのRuby拡張ライブラリ
Masahiro Tomita
Rubinius Under a Microscope
高広 内山
メタメタプログラミングRuby
emasaka
Rails初心者レッスン lesson1 3rd edition
Goh Matsumoto
docs.ruby-lang.org/ja/ の生成方法を (GitHub Actions に)変えた
Kazuhiro Nishiyama
シラサギハンズオン 1015 1016
Yu Ito
成長を加速する minne の技術基盤戦略
Hiroshi SHIBATA
Hacking Ruby with Python
Taisuke Yamada
20091119_sinatraを使ってみた
ngi group.
Railsの開発環境作るぞ
Yoichi Toyota
Rails初心者レッスン lesson4 2edition
Satomi Tsujita
20100930 sig startups
Ichiro Fukuda
Bundler kanazawa.rb meetup #2 2012/09/19
Hitoshi Kurokawa
エコなWebサーバー
emasaka
Ad
More from Masaya Konishi
(7)
PDF
プログラミング言語を作る
Masaya Konishi
PDF
ElasticBeanstalkでのRailsアプリ運用
Masaya Konishi
PDF
Mrubyについて 第16回 岡山ruby, ruby on rails勉強会
Masaya Konishi
PDF
FizzBuzzで学ぶRuby
Masaya Konishi
PDF
私とRubyの付き合い方 - 岡山Ruby会議02
Masaya Konishi
ODP
Rubyで楽々サーバー管理 - 岡山Ruby会議01 -
Masaya Konishi
PDF
rabbit - 第10回 岡山Ruby, Ruby on Rails勉強会
Masaya Konishi
プログラミング言語を作る
Masaya Konishi
ElasticBeanstalkでのRailsアプリ運用
Masaya Konishi
Mrubyについて 第16回 岡山ruby, ruby on rails勉強会
Masaya Konishi
FizzBuzzで学ぶRuby
Masaya Konishi
私とRubyの付き合い方 - 岡山Ruby会議02
Masaya Konishi
Rubyで楽々サーバー管理 - 岡山Ruby会議01 -
Masaya Konishi
rabbit - 第10回 岡山Ruby, Ruby on Rails勉強会
Masaya Konishi
Rubyにメソッドを追加して遊ぶ話
1.
Rubyにメソッドを追加して遊ぶ Masaya Konishi Okayama.rb #100
2.
自己紹介 ● 小西 雅也 ● Twitter
@ore_public ● Github ore-public ● 株式会社リゾーム システム開発部 Webアプリケーション開発、導入、保守
3.
準備 ● githubのruby/rubyをfork ● git
clone ● 遊ぶ用ブランチ作成 ● rbenvインストール ● ひとまずrbenv配下にビルド http://qiita.com/ore_public/items/1f6b396a26984 ba2c0b6
4.
Rubyにメソッドを作るには(Array) /* array.c */ ●
Init_Array(Init_XXX) 初期化関数 ● rb_define_class クラス定義 ● rb_define_method メソッド定義 例) Array#first の定義 (Init_Array内の処理) rb_cArray = rb_define_class("Array", rb_cObject); rb_define_method(rb_cArray, "first", rb_ary_first, -1);
5.
Rubyにメソッドを作るには(Array) Rubyで書くと以下と同義 class Array def first end end
6.
Array#first の仕様
7.
Array#firstの実装 引数が無い方の実装を確認する
8.
Array#secondを作って見よう
9.
デモ
10.
ところで ● 引数の数のチェックが効いていない
12.
実装してみる
13.
デモ
14.
まとめ ● 言語処理系の全体像が分からなくても、ポイン トを抑えれば実装をなんとなく読める ● 自分でちょっと改造すると(コピペレベルで も)読むだけより理解できる ●
楽しい
15.
参考 ● http://docs.ruby-lang.org/ja/2.2.0/function/index.html ● RHG ●
http://i.loveruby.net/ja/rhg/
Download