SlideShare a Scribd company logo
1 of 9
わんくま同盟 大阪勉強会 #70
C# と Ruby をつなぐ
FUNABARA Masao
@107steps
わんくま同盟 大阪勉強会 #70
概要
• 自己紹介
• ruby-csharp_script
• RubyからRoslynでC#を動かすデモ
• 将来
• 課題
• まとめ
わんくま同盟 大阪勉強会 #70
自己紹介
• @107steps ( twitter )
• 舩原 理生 ( FUNABARA Masao)
• 個人事業主
• 仕事ください(Ruby/C/C++/C#/Xamarin)
• ブログ ( http://www.masoo.jp/blog/ )
• Ruby舞鶴やっています
https://ruby-maizuru.connpass.com/
舞鶴の人いたら一緒に勉強会しましょう。
わんくま同盟 大阪勉強会 #70
ruby-csharp_script
• https://github.com/masoo/ruby-csharp_script
• RubyからC#を扱いたくて作ったライブラリ
• Roslynの薄いWrapper
• C# 製
• COM に登録して使う
• 初期版をこの間リリース v0.1
• Wix Toolset でインストーラー作った
わんくま同盟 大阪勉強会 #70
RubyからRoslynでC#を動かすデモ
わんくま同盟 大阪勉強会 #70
RubyからRoslynでC#を動かすデモ
わんくま同盟 大阪勉強会 #70
将来
• DLLを解析して、 Ruby 側で
C# のオブジェクトを
Ruby のコードっぽく生成したい
• .Net の DLL として組み込んで、
外部の ruby を使って、
自身のインスタンスを
いじれるようにしたい
• 外部 DLL の呼び出しにも対応したい
わんくま同盟 大阪勉強会 #70
課題
• NuGet 依存関係
最新版の Roslyn を組み込んだ DLL 群を
使おうとするとマイナー番号違いで
起動しない
( app.config いじっても Ruby でダメ )
• Ruby 2.4 で起動しない
• インストーラーからの COM 登録方法
現状は regasm を呼び出している
わんくま同盟 大阪勉強会 #70
まとめ
• Ruby から C# にアクセスできる
ライブラリ作ってる
• デモした
• COM がらみっぽい謎のエラーつらい
• 簡単に Ruby <-> C# をできるようにしたい

More Related Content

What's hot

RubyとRailsのおいしい使い方
RubyとRailsのおいしい使い方RubyとRailsのおいしい使い方
RubyとRailsのおいしい使い方Satomi Tsujita
 
Gatsby.js完全に理解した
Gatsby.js完全に理解したGatsby.js完全に理解した
Gatsby.js完全に理解したssuser953388
 
Comableを支える技術〜できるだけコーディングせずにズルして作るRailsアプリ〜
Comableを支える技術〜できるだけコーディングせずにズルして作るRailsアプリ〜Comableを支える技術〜できるだけコーディングせずにズルして作るRailsアプリ〜
Comableを支える技術〜できるだけコーディングせずにズルして作るRailsアプリ〜Cake YOSHIDA
 
プロジェクトでRubocopを使って自動コードレビューしてみた話
プロジェクトでRubocopを使って自動コードレビューしてみた話プロジェクトでRubocopを使って自動コードレビューしてみた話
プロジェクトでRubocopを使って自動コードレビューしてみた話Cake YOSHIDA
 
関西の Ruby コミュニティ
関西の Ruby コミュニティ関西の Ruby コミュニティ
関西の Ruby コミュニティTomoya Kawanishi
 
岡山のRuby勉強会(OSC広島2013)
岡山のRuby勉強会(OSC広島2013)岡山のRuby勉強会(OSC広島2013)
岡山のRuby勉強会(OSC広島2013)Makoto Henmi
 
Railsのフロントエンド開発を考える
Railsのフロントエンド開発を考えるRailsのフロントエンド開発を考える
Railsのフロントエンド開発を考えるHirata Tomoko
 
孤独なフリーランサー
孤独なフリーランサー孤独なフリーランサー
孤独なフリーランサー107steps
 
増井雄一郎の「wri.pe」を事例に学ぶ、自作サービスの作り方〜サービスデザイン編 先生:増井 雄一郎
増井雄一郎の「wri.pe」を事例に学ぶ、自作サービスの作り方〜サービスデザイン編 先生:増井 雄一郎増井雄一郎の「wri.pe」を事例に学ぶ、自作サービスの作り方〜サービスデザイン編 先生:増井 雄一郎
増井雄一郎の「wri.pe」を事例に学ぶ、自作サービスの作り方〜サービスデザイン編 先生:増井 雄一郎schoowebcampus
 
WindowsユーザのためのRails環境構築
WindowsユーザのためのRails環境構築WindowsユーザのためのRails環境構築
WindowsユーザのためのRails環境構築Hirata Tomoko
 
Railsチュートリアル(second)を終えて
Railsチュートリアル(second)を終えてRailsチュートリアル(second)を終えて
Railsチュートリアル(second)を終えてHirata Tomoko
 
RubyとRailsのおいしい使い方 ver. okayama1
RubyとRailsのおいしい使い方 ver. okayama1RubyとRailsのおいしい使い方 ver. okayama1
RubyとRailsのおいしい使い方 ver. okayama1Satomi Tsujita
 
RubyとRのおいしい関係
RubyとRのおいしい関係RubyとRのおいしい関係
RubyとRのおいしい関係sady_nitro
 
RubyMotion もくもく会 in Osaka 活動報告
RubyMotion もくもく会 in Osaka 活動報告RubyMotion もくもく会 in Osaka 活動報告
RubyMotion もくもく会 in Osaka 活動報告Sotaro Omura
 
Rails5クイックスタート
Rails5クイックスタートRails5クイックスタート
Rails5クイックスタートHirata Tomoko
 

What's hot (20)

RubyとRailsのおいしい使い方
RubyとRailsのおいしい使い方RubyとRailsのおいしい使い方
RubyとRailsのおいしい使い方
 
Gatsby.js完全に理解した
Gatsby.js完全に理解したGatsby.js完全に理解した
Gatsby.js完全に理解した
 
Comableを支える技術〜できるだけコーディングせずにズルして作るRailsアプリ〜
Comableを支える技術〜できるだけコーディングせずにズルして作るRailsアプリ〜Comableを支える技術〜できるだけコーディングせずにズルして作るRailsアプリ〜
Comableを支える技術〜できるだけコーディングせずにズルして作るRailsアプリ〜
 
プロジェクトでRubocopを使って自動コードレビューしてみた話
プロジェクトでRubocopを使って自動コードレビューしてみた話プロジェクトでRubocopを使って自動コードレビューしてみた話
プロジェクトでRubocopを使って自動コードレビューしてみた話
 
関西の Ruby コミュニティ
関西の Ruby コミュニティ関西の Ruby コミュニティ
関西の Ruby コミュニティ
 
片手間JS on Rails
片手間JS on Rails片手間JS on Rails
片手間JS on Rails
 
岡山のRuby勉強会(OSC広島2013)
岡山のRuby勉強会(OSC広島2013)岡山のRuby勉強会(OSC広島2013)
岡山のRuby勉強会(OSC広島2013)
 
Kyakusaki.rb
Kyakusaki.rbKyakusaki.rb
Kyakusaki.rb
 
Railsのフロントエンド開発を考える
Railsのフロントエンド開発を考えるRailsのフロントエンド開発を考える
Railsのフロントエンド開発を考える
 
孤独なフリーランサー
孤独なフリーランサー孤独なフリーランサー
孤独なフリーランサー
 
増井雄一郎の「wri.pe」を事例に学ぶ、自作サービスの作り方〜サービスデザイン編 先生:増井 雄一郎
増井雄一郎の「wri.pe」を事例に学ぶ、自作サービスの作り方〜サービスデザイン編 先生:増井 雄一郎増井雄一郎の「wri.pe」を事例に学ぶ、自作サービスの作り方〜サービスデザイン編 先生:増井 雄一郎
増井雄一郎の「wri.pe」を事例に学ぶ、自作サービスの作り方〜サービスデザイン編 先生:増井 雄一郎
 
WindowsユーザのためのRails環境構築
WindowsユーザのためのRails環境構築WindowsユーザのためのRails環境構築
WindowsユーザのためのRails環境構築
 
Railsチュートリアル(second)を終えて
Railsチュートリアル(second)を終えてRailsチュートリアル(second)を終えて
Railsチュートリアル(second)を終えて
 
2016 02-09-co-edo lt
2016 02-09-co-edo lt2016 02-09-co-edo lt
2016 02-09-co-edo lt
 
2015 12-19-ruby rails
2015 12-19-ruby rails2015 12-19-ruby rails
2015 12-19-ruby rails
 
2015 07-04-ruby rails
2015 07-04-ruby rails2015 07-04-ruby rails
2015 07-04-ruby rails
 
RubyとRailsのおいしい使い方 ver. okayama1
RubyとRailsのおいしい使い方 ver. okayama1RubyとRailsのおいしい使い方 ver. okayama1
RubyとRailsのおいしい使い方 ver. okayama1
 
RubyとRのおいしい関係
RubyとRのおいしい関係RubyとRのおいしい関係
RubyとRのおいしい関係
 
RubyMotion もくもく会 in Osaka 活動報告
RubyMotion もくもく会 in Osaka 活動報告RubyMotion もくもく会 in Osaka 活動報告
RubyMotion もくもく会 in Osaka 活動報告
 
Rails5クイックスタート
Rails5クイックスタートRails5クイックスタート
Rails5クイックスタート
 

Similar to C#とRubyをつなぐ

Ruby と C# をつなぐ
Ruby と C# をつなぐRuby と C# をつなぐ
Ruby と C# をつなぐ107steps
 
クローズドソースから始めるオープンソース
クローズドソースから始めるオープンソースクローズドソースから始めるオープンソース
クローズドソースから始めるオープンソースTakafumi ONAKA
 
Ember コミュニティとわたし
Ember コミュニティとわたしEmber コミュニティとわたし
Ember コミュニティとわたしRyunosuke SATO
 
What's Cooking In Ruby 2.7
What's Cooking In Ruby 2.7What's Cooking In Ruby 2.7
What's Cooking In Ruby 2.7Akinori Musha
 
Ruby での外部コマンドの実行について
Ruby での外部コマンドの実行についてRuby での外部コマンドの実行について
Ruby での外部コマンドの実行についてTomoya Kawanishi
 
Rubyで作るクローラー Ruby crawler
Rubyで作るクローラー Ruby crawlerRubyで作るクローラー Ruby crawler
Rubyで作るクローラー Ruby crawlerTakuro Sasaki
 
DSLについて語るときに僕の語ること
DSLについて語るときに僕の語ることDSLについて語るときに僕の語ること
DSLについて語るときに僕の語ることTomohiro Nishimura
 
Introduction to Kanagawa Ruby Kaigi01 #kana01
Introduction to Kanagawa Ruby Kaigi01 #kana01Introduction to Kanagawa Ruby Kaigi01 #kana01
Introduction to Kanagawa Ruby Kaigi01 #kana01Aki Ariga
 
Reudy on Ruby1.9
Reudy on Ruby1.9Reudy on Ruby1.9
Reudy on Ruby1.9Glass_saga
 
K ruby community_plan (2) (2)
K ruby community_plan (2) (2)K ruby community_plan (2) (2)
K ruby community_plan (2) (2)Kosuke Masumitsu
 
K ruby community_plan (2) (2)
K ruby community_plan (2) (2)K ruby community_plan (2) (2)
K ruby community_plan (2) (2)Kosuke Masumitsu
 
RubySeminar16_Analyze
RubySeminar16_AnalyzeRubySeminar16_Analyze
RubySeminar16_Analyzesady_nitro
 
Sassでちょっと楽しよう
Sassでちょっと楽しようSassでちょっと楽しよう
Sassでちょっと楽しようMakoto Henmi
 
シン・君主論を読んで
シン・君主論を読んでシン・君主論を読んで
シン・君主論を読んでYou&I
 
増井雄一郎の「wri.pe」を事例に学ぶ、自作サービスの広め方〜PR・継続できる目標の立て方・改善編 先生:増井 雄一郎
増井雄一郎の「wri.pe」を事例に学ぶ、自作サービスの広め方〜PR・継続できる目標の立て方・改善編 先生:増井 雄一郎増井雄一郎の「wri.pe」を事例に学ぶ、自作サービスの広め方〜PR・継続できる目標の立て方・改善編 先生:増井 雄一郎
増井雄一郎の「wri.pe」を事例に学ぶ、自作サービスの広め方〜PR・継続できる目標の立て方・改善編 先生:増井 雄一郎schoowebcampus
 
PHPer のための Ruby 教室
PHPer のための Ruby 教室PHPer のための Ruby 教室
PHPer のための Ruby 教室higaki
 
Rubyインタプリタ開発者養成講座
Rubyインタプリタ開発者養成講座Rubyインタプリタ開発者養成講座
Rubyインタプリタ開発者養成講座Koichi Sasada
 
Avalonia for MacApps
Avalonia for MacAppsAvalonia for MacApps
Avalonia for MacAppsc-mitsuba
 
20150207 何故scalaを選んだのか
20150207 何故scalaを選んだのか20150207 何故scalaを選んだのか
20150207 何故scalaを選んだのかKatsunori Kanda
 

Similar to C#とRubyをつなぐ (20)

Ruby と C# をつなぐ
Ruby と C# をつなぐRuby と C# をつなぐ
Ruby と C# をつなぐ
 
クローズドソースから始めるオープンソース
クローズドソースから始めるオープンソースクローズドソースから始めるオープンソース
クローズドソースから始めるオープンソース
 
Ember コミュニティとわたし
Ember コミュニティとわたしEmber コミュニティとわたし
Ember コミュニティとわたし
 
What's Cooking In Ruby 2.7
What's Cooking In Ruby 2.7What's Cooking In Ruby 2.7
What's Cooking In Ruby 2.7
 
Ruby での外部コマンドの実行について
Ruby での外部コマンドの実行についてRuby での外部コマンドの実行について
Ruby での外部コマンドの実行について
 
Rubyで作るクローラー Ruby crawler
Rubyで作るクローラー Ruby crawlerRubyで作るクローラー Ruby crawler
Rubyで作るクローラー Ruby crawler
 
DSLについて語るときに僕の語ること
DSLについて語るときに僕の語ることDSLについて語るときに僕の語ること
DSLについて語るときに僕の語ること
 
Introduction to Kanagawa Ruby Kaigi01 #kana01
Introduction to Kanagawa Ruby Kaigi01 #kana01Introduction to Kanagawa Ruby Kaigi01 #kana01
Introduction to Kanagawa Ruby Kaigi01 #kana01
 
Reudy on Ruby1.9
Reudy on Ruby1.9Reudy on Ruby1.9
Reudy on Ruby1.9
 
K ruby community_plan (2) (2)
K ruby community_plan (2) (2)K ruby community_plan (2) (2)
K ruby community_plan (2) (2)
 
K ruby community_plan (2) (2)
K ruby community_plan (2) (2)K ruby community_plan (2) (2)
K ruby community_plan (2) (2)
 
RubySeminar16_Analyze
RubySeminar16_AnalyzeRubySeminar16_Analyze
RubySeminar16_Analyze
 
Sassでちょっと楽しよう
Sassでちょっと楽しようSassでちょっと楽しよう
Sassでちょっと楽しよう
 
シン・君主論を読んで
シン・君主論を読んでシン・君主論を読んで
シン・君主論を読んで
 
増井雄一郎の「wri.pe」を事例に学ぶ、自作サービスの広め方〜PR・継続できる目標の立て方・改善編 先生:増井 雄一郎
増井雄一郎の「wri.pe」を事例に学ぶ、自作サービスの広め方〜PR・継続できる目標の立て方・改善編 先生:増井 雄一郎増井雄一郎の「wri.pe」を事例に学ぶ、自作サービスの広め方〜PR・継続できる目標の立て方・改善編 先生:増井 雄一郎
増井雄一郎の「wri.pe」を事例に学ぶ、自作サービスの広め方〜PR・継続できる目標の立て方・改善編 先生:増井 雄一郎
 
PHPer のための Ruby 教室
PHPer のための Ruby 教室PHPer のための Ruby 教室
PHPer のための Ruby 教室
 
Rubyインタプリタ開発者養成講座
Rubyインタプリタ開発者養成講座Rubyインタプリタ開発者養成講座
Rubyインタプリタ開発者養成講座
 
Avalonia for MacApps
Avalonia for MacAppsAvalonia for MacApps
Avalonia for MacApps
 
20150207 何故scalaを選んだのか
20150207 何故scalaを選んだのか20150207 何故scalaを選んだのか
20150207 何故scalaを選んだのか
 
RSpecしぐさ
RSpecしぐさRSpecしぐさ
RSpecしぐさ
 

More from 107steps

プライベートAPIとの闘い
プライベートAPIとの闘いプライベートAPIとの闘い
プライベートAPIとの闘い107steps
 
Ruby on Rails での開発で使って良いなと思ったメソッド
Ruby on Rails での開発で使って良いなと思ったメソッドRuby on Rails での開発で使って良いなと思ったメソッド
Ruby on Rails での開発で使って良いなと思ったメソッド107steps
 
Github pagesで独自ドメインのサイトを作る
Github pagesで独自ドメインのサイトを作るGithub pagesで独自ドメインのサイトを作る
Github pagesで独自ドメインのサイトを作る107steps
 
花束問題を考えてみる
花束問題を考えてみる花束問題を考えてみる
花束問題を考えてみる107steps
 
Rubyで.netを扱う
Rubyで.netを扱うRubyで.netを扱う
Rubyで.netを扱う107steps
 
情報セキュリティを考えるためのSNS紹介
情報セキュリティを考えるためのSNS紹介情報セキュリティを考えるためのSNS紹介
情報セキュリティを考えるためのSNS紹介107steps
 

More from 107steps (6)

プライベートAPIとの闘い
プライベートAPIとの闘いプライベートAPIとの闘い
プライベートAPIとの闘い
 
Ruby on Rails での開発で使って良いなと思ったメソッド
Ruby on Rails での開発で使って良いなと思ったメソッドRuby on Rails での開発で使って良いなと思ったメソッド
Ruby on Rails での開発で使って良いなと思ったメソッド
 
Github pagesで独自ドメインのサイトを作る
Github pagesで独自ドメインのサイトを作るGithub pagesで独自ドメインのサイトを作る
Github pagesで独自ドメインのサイトを作る
 
花束問題を考えてみる
花束問題を考えてみる花束問題を考えてみる
花束問題を考えてみる
 
Rubyで.netを扱う
Rubyで.netを扱うRubyで.netを扱う
Rubyで.netを扱う
 
情報セキュリティを考えるためのSNS紹介
情報セキュリティを考えるためのSNS紹介情報セキュリティを考えるためのSNS紹介
情報セキュリティを考えるためのSNS紹介
 

C#とRubyをつなぐ