SlideShare a Scribd company logo
Rのコードをキレイに見せたい 2011.05.28 @mangantempy
自己紹介 ID : @mangantempy 職業: Webエンジニア PHP, Perl, C++, PL/SQL, Tcl/Tk, R 時系列分析 勉強中
アジェンダ コードがキレイ? SyntaxHighlighter 作ってみました デモ 機能紹介 使い方 今後の展望
コードがキレイ ってどうゆこと?
我らがR言語は ・・・・・・(´・ω・`)地味
こういうこと(PHP) PHP
こういうこと(例) JavaScript
構文強調表示 構文を解析して、見やすく表示してくれる メリット:直感的に把握しやすい デメリット:ない。
こういうのを使います
対応している言語は
我らがR言語は ・・・・・・(´・ω・`)非対応
そこで
作ってみました SyntaxHightLighter_R ファイル名:shBrushR.js
デモ
やってくれること 関数(っぽい所) 制御構文 if else for in while repeat ‥ 予約語 TRUE FALSE NULL InfNaN NA‥ 演算子 + - * / = <- : == != & |‥ 行頭の > + [n] に色を付ける
使い方 1. SyntaxHightlighter本体を取得&設置 http://alexgorbatchev.com/SyntaxHighlighter/ 2. SyntaxHightlighter_Rを取得&設置 https://github.com/tempy/SyntaxHighlighter_R 3. HTMLにタグを埋め込む 次頁参照
使い方(タグ) <link type="text/css" rel="stylesheet" 	href="syntaxhighlighter/styles/shCore.css"/> <link type="text/css" rel="stylesheet" href="syntaxhighlighter/styles/shThemeDefault.css"/> <script type="text/javascript" src="syntaxhighlighter/scripts/shCore.js"></script> <script type="text/javascript“ src="js/shBrushR.js"></script> <pre class="brush: r"> > 1 + 1 [1] 2 </pre> <script type="text/javascript"> SyntaxHighlighter.all(); </script>
ちょっと面倒臭い
今後の展望 SyntaxHightlighter 本体に取り込んでもらう セットアップが楽になる Pukiwiki,Movabletypeなどに対応
リンク SyntaxHightlighter公式 http://alexgorbatchev.com/SyntaxHighlighter/ SyntaxHightlighter_R https://github.com/tempy/SyntaxHighlighter_R (ソース) http://macha.tkul.jp/ (サンプル) for PukiWiki http://ortk.main.jp/blog/?p=362 for MovableType http://blog.makotokw.com/portfolio/movabletype/syntaxhighlighter/
おしまい ありがとうございました。 @mangantempy
質問タイム 質問・ツッコミなどあれば!

More Related Content

What's hot

.NET系開発者から見たJava
.NET系開発者から見たJava.NET系開発者から見たJava
.NET系開発者から見たJava
bleis tift
 
プログラミング言語として考えたTensor flow
プログラミング言語として考えたTensor flowプログラミング言語として考えたTensor flow
プログラミング言語として考えたTensor flow
Keisuke Umezawa
 
F#談話室(17)
F#談話室(17)F#談話室(17)
F#談話室(17)
Nagi Teramo
 
Introduction to lambda calculation
Introduction to lambda calculationIntroduction to lambda calculation
Introduction to lambda calculation
relipmoc101
 
正規表現
正規表現正規表現
正規表現
bsdhack
 
母語方式Coq
母語方式Coq母語方式Coq
母語方式Coq
Kiyoshi Ogawa
 
.NET micro FrameWork for TOPPERS (.NET基礎)@基礎勉強会
.NET micro  FrameWork for TOPPERS  (.NET基礎)@基礎勉強会.NET micro  FrameWork for TOPPERS  (.NET基礎)@基礎勉強会
.NET micro FrameWork for TOPPERS (.NET基礎)@基礎勉強会Kiyoshi Ogawa
 
(超初心者向け)オブジェクト指向とC#
(超初心者向け)オブジェクト指向とC#(超初心者向け)オブジェクト指向とC#
(超初心者向け)オブジェクト指向とC#
ssusera3d157
 
5分でわかるPHPのクロージャ(web公開版)
5分でわかるPHPのクロージャ(web公開版)5分でわかるPHPのクロージャ(web公開版)
5分でわかるPHPのクロージャ(web公開版)
hajikami
 
PHP5技術者認定初級試験を受験しました
PHP5技術者認定初級試験を受験しましたPHP5技術者認定初級試験を受験しました
PHP5技術者認定初級試験を受験しました
hajikami
 
プログラミング勉強会 その0
プログラミング勉強会 その0プログラミング勉強会 その0
プログラミング勉強会 その0Hirokazu Fukami
 
Inner world of Perl::Lint
Inner world of Perl::LintInner world of Perl::Lint
Inner world of Perl::Lint
moznion
 
cs-11. Python の条件分岐と繰り返し,ステップ実行
cs-11. Python の条件分岐と繰り返し,ステップ実行cs-11. Python の条件分岐と繰り返し,ステップ実行
cs-11. Python の条件分岐と繰り返し,ステップ実行
kunihikokaneko1
 
楽しいプログラミング
楽しいプログラミング楽しいプログラミング
楽しいプログラミング
明洋 庄司
 
C言語について
C言語についてC言語について
C言語についてKatsuro-u
 
プログラミングNet framework3のお題
プログラミングNet framework3のお題プログラミングNet framework3のお題
プログラミングNet framework3のお題
Kazushi Kamegawa
 
Takao.mt 2013
Takao.mt 2013Takao.mt 2013
Takao.mt 2013
moznion
 
新人プログラマーが気に入ったPythonの基礎の基礎
新人プログラマーが気に入ったPythonの基礎の基礎新人プログラマーが気に入ったPythonの基礎の基礎
新人プログラマーが気に入ったPythonの基礎の基礎
iPride Co., Ltd.
 
D言語にまだ入っていない新機能 (Dの日#2)
D言語にまだ入っていない新機能 (Dの日#2)D言語にまだ入っていない新機能 (Dの日#2)
D言語にまだ入っていない新機能 (Dの日#2)
tom-tan
 

What's hot (19)

.NET系開発者から見たJava
.NET系開発者から見たJava.NET系開発者から見たJava
.NET系開発者から見たJava
 
プログラミング言語として考えたTensor flow
プログラミング言語として考えたTensor flowプログラミング言語として考えたTensor flow
プログラミング言語として考えたTensor flow
 
F#談話室(17)
F#談話室(17)F#談話室(17)
F#談話室(17)
 
Introduction to lambda calculation
Introduction to lambda calculationIntroduction to lambda calculation
Introduction to lambda calculation
 
正規表現
正規表現正規表現
正規表現
 
母語方式Coq
母語方式Coq母語方式Coq
母語方式Coq
 
.NET micro FrameWork for TOPPERS (.NET基礎)@基礎勉強会
.NET micro  FrameWork for TOPPERS  (.NET基礎)@基礎勉強会.NET micro  FrameWork for TOPPERS  (.NET基礎)@基礎勉強会
.NET micro FrameWork for TOPPERS (.NET基礎)@基礎勉強会
 
(超初心者向け)オブジェクト指向とC#
(超初心者向け)オブジェクト指向とC#(超初心者向け)オブジェクト指向とC#
(超初心者向け)オブジェクト指向とC#
 
5分でわかるPHPのクロージャ(web公開版)
5分でわかるPHPのクロージャ(web公開版)5分でわかるPHPのクロージャ(web公開版)
5分でわかるPHPのクロージャ(web公開版)
 
PHP5技術者認定初級試験を受験しました
PHP5技術者認定初級試験を受験しましたPHP5技術者認定初級試験を受験しました
PHP5技術者認定初級試験を受験しました
 
プログラミング勉強会 その0
プログラミング勉強会 その0プログラミング勉強会 その0
プログラミング勉強会 その0
 
Inner world of Perl::Lint
Inner world of Perl::LintInner world of Perl::Lint
Inner world of Perl::Lint
 
cs-11. Python の条件分岐と繰り返し,ステップ実行
cs-11. Python の条件分岐と繰り返し,ステップ実行cs-11. Python の条件分岐と繰り返し,ステップ実行
cs-11. Python の条件分岐と繰り返し,ステップ実行
 
楽しいプログラミング
楽しいプログラミング楽しいプログラミング
楽しいプログラミング
 
C言語について
C言語についてC言語について
C言語について
 
プログラミングNet framework3のお題
プログラミングNet framework3のお題プログラミングNet framework3のお題
プログラミングNet framework3のお題
 
Takao.mt 2013
Takao.mt 2013Takao.mt 2013
Takao.mt 2013
 
新人プログラマーが気に入ったPythonの基礎の基礎
新人プログラマーが気に入ったPythonの基礎の基礎新人プログラマーが気に入ったPythonの基礎の基礎
新人プログラマーが気に入ったPythonの基礎の基礎
 
D言語にまだ入っていない新機能 (Dの日#2)
D言語にまだ入っていない新機能 (Dの日#2)D言語にまだ入っていない新機能 (Dの日#2)
D言語にまだ入っていない新機能 (Dの日#2)
 

Viewers also liked

Compressed ngram
Compressed ngramCompressed ngram
Compressed ngram
Keigo Machinaga
 
言語教育のためのコーパス利用
言語教育のためのコーパス利用言語教育のためのコーパス利用
言語教育のためのコーパス利用
SAKAUE, Tatsuya
 
MVO en Fairtrade
MVO en FairtradeMVO en Fairtrade
MVO en Fairtrade
fairtrade4all
 
Rmpiとsnowで 並列処理
Rmpiとsnowで 並列処理Rmpiとsnowで 並列処理
Rmpiとsnowで 並列処理
Masafumi Okada
 
Osaka.R #5 Presentation
Osaka.R #5 PresentationOsaka.R #5 Presentation
Osaka.R #5 Presentation
SAKAUE, Tatsuya
 
オープンエデュケーションの可能性とMOOCsのインパクト
オープンエデュケーションの可能性とMOOCsのインパクトオープンエデュケーションの可能性とMOOCsのインパクト
オープンエデュケーションの可能性とMOOCsのインパクト
Katsusuke Shigeta
 
Tokyor16
Tokyor16Tokyor16
単語重要度入門 〜テキストをダイエットさせよう〜
単語重要度入門 〜テキストをダイエットさせよう〜単語重要度入門 〜テキストをダイエットさせよう〜
単語重要度入門 〜テキストをダイエットさせよう〜
toilet_lunch
 

Viewers also liked (8)

Compressed ngram
Compressed ngramCompressed ngram
Compressed ngram
 
言語教育のためのコーパス利用
言語教育のためのコーパス利用言語教育のためのコーパス利用
言語教育のためのコーパス利用
 
MVO en Fairtrade
MVO en FairtradeMVO en Fairtrade
MVO en Fairtrade
 
Rmpiとsnowで 並列処理
Rmpiとsnowで 並列処理Rmpiとsnowで 並列処理
Rmpiとsnowで 並列処理
 
Osaka.R #5 Presentation
Osaka.R #5 PresentationOsaka.R #5 Presentation
Osaka.R #5 Presentation
 
オープンエデュケーションの可能性とMOOCsのインパクト
オープンエデュケーションの可能性とMOOCsのインパクトオープンエデュケーションの可能性とMOOCsのインパクト
オープンエデュケーションの可能性とMOOCsのインパクト
 
Tokyor16
Tokyor16Tokyor16
Tokyor16
 
単語重要度入門 〜テキストをダイエットさせよう〜
単語重要度入門 〜テキストをダイエットさせよう〜単語重要度入門 〜テキストをダイエットさせよう〜
単語重要度入門 〜テキストをダイエットさせよう〜
 

Similar to Rのコードをキレイに見せたい

YAPC::Asia 2014 - 半端なPHPDisでPHPerに陰で笑われないためのPerl Monger向け最新PHP事情
YAPC::Asia 2014 - 半端なPHPDisでPHPerに陰で笑われないためのPerl Monger向け最新PHP事情YAPC::Asia 2014 - 半端なPHPDisでPHPerに陰で笑われないためのPerl Monger向け最新PHP事情
YAPC::Asia 2014 - 半端なPHPDisでPHPerに陰で笑われないためのPerl Monger向け最新PHP事情
Junichi Ishida
 
普通のプログラミング言語R
普通のプログラミング言語R普通のプログラミング言語R
普通のプログラミング言語R
Shuyo Nakatani
 
20090801phpstudy Sanemat
20090801phpstudy Sanemat20090801phpstudy Sanemat
20090801phpstudy Sanemat
Kenichi Murahashi
 
PhpStormを使おう --高槻からは快速急行が早くなります #jbugj
PhpStormを使おう --高槻からは快速急行が早くなります #jbugjPhpStormを使おう --高槻からは快速急行が早くなります #jbugj
PhpStormを使おう --高槻からは快速急行が早くなります #jbugj
Hisateru Tanaka
 
あるあるLT〜サーバーサイドエンジニア〜 Vol.3
あるあるLT〜サーバーサイドエンジニア〜 Vol.3あるあるLT〜サーバーサイドエンジニア〜 Vol.3
あるあるLT〜サーバーサイドエンジニア〜 Vol.3
Keiichi Hagiwara
 
Rubyとプログラミング言語の潮流
Rubyとプログラミング言語の潮流Rubyとプログラミング言語の潮流
Rubyとプログラミング言語の潮流
Kazuhiko Kato
 
PHPでセキュリティを真面目に考える
PHPでセキュリティを真面目に考えるPHPでセキュリティを真面目に考える
PHPでセキュリティを真面目に考える
Takuya Sato
 
Pyconjp2014_implementations
Pyconjp2014_implementationsPyconjp2014_implementations
Pyconjp2014_implementations
masahitojp
 
プログラマになれないあなたのための言語戦略 (Gunma.web #7 2011/12/17)
プログラマになれないあなたのための言語戦略 (Gunma.web #7 2011/12/17)プログラマになれないあなたのための言語戦略 (Gunma.web #7 2011/12/17)
プログラマになれないあなたのための言語戦略 (Gunma.web #7 2011/12/17)
parrotstudio
 
Rubyの会社でPythonistaが三ヶ月生き延びた話
Rubyの会社でPythonistaが三ヶ月生き延びた話Rubyの会社でPythonistaが三ヶ月生き延びた話
Rubyの会社でPythonistaが三ヶ月生き延びた話
Drecom Co., Ltd.
 
Rubyの会社でPythonistaが3ヶ月生き延びた話
Rubyの会社でPythonistaが3ヶ月生き延びた話Rubyの会社でPythonistaが3ヶ月生き延びた話
Rubyの会社でPythonistaが3ヶ月生き延びた話
Tokoroten Nakayama
 
PFIセミナー 2013/02/28 「プログラミング言語の今」
PFIセミナー 2013/02/28 「プログラミング言語の今」PFIセミナー 2013/02/28 「プログラミング言語の今」
PFIセミナー 2013/02/28 「プログラミング言語の今」
Preferred Networks
 
Phpcon tokyo 20120_bigginer
Phpcon tokyo 20120_bigginerPhpcon tokyo 20120_bigginer
Phpcon tokyo 20120_bigginer
Hideo Kashioka
 
Kanrk05 .Netでお仕事しているプログラマがスクリプト言語として使うRuby
Kanrk05 .Netでお仕事しているプログラマがスクリプト言語として使うRubyKanrk05 .Netでお仕事しているプログラマがスクリプト言語として使うRuby
Kanrk05 .Netでお仕事しているプログラマがスクリプト言語として使うRuby
Shinichi Okada
 
Responsableを使ったadr実装
Responsableを使ったadr実装Responsableを使ったadr実装
Responsableを使ったadr実装
Kenjiro Kubota
 
今日からはじめるHTML5 ver.2012
今日からはじめるHTML5 ver.2012今日からはじめるHTML5 ver.2012
今日からはじめるHTML5 ver.2012
Yasuhito Yabe
 
正規表現リテラルは本当に必要なのか?
正規表現リテラルは本当に必要なのか?正規表現リテラルは本当に必要なのか?
正規表現リテラルは本当に必要なのか?
kwatch
 
第一回Data mining勉強会 -第二章
第一回Data mining勉強会 -第二章第一回Data mining勉強会 -第二章
第一回Data mining勉強会 -第二章Tomonobu_Hirano
 
第一回ゆるふわーる
第一回ゆるふわーる第一回ゆるふわーる
第一回ゆるふわーる
Sachiko Hirata
 
CakePHP3.x での各種実装例 ~| PHP Tech Bash 20171121 ~
CakePHP3.x での各種実装例 ~| PHP Tech Bash 20171121 ~CakePHP3.x での各種実装例 ~| PHP Tech Bash 20171121 ~
CakePHP3.x での各種実装例 ~| PHP Tech Bash 20171121 ~
諒一 上野
 

Similar to Rのコードをキレイに見せたい (20)

YAPC::Asia 2014 - 半端なPHPDisでPHPerに陰で笑われないためのPerl Monger向け最新PHP事情
YAPC::Asia 2014 - 半端なPHPDisでPHPerに陰で笑われないためのPerl Monger向け最新PHP事情YAPC::Asia 2014 - 半端なPHPDisでPHPerに陰で笑われないためのPerl Monger向け最新PHP事情
YAPC::Asia 2014 - 半端なPHPDisでPHPerに陰で笑われないためのPerl Monger向け最新PHP事情
 
普通のプログラミング言語R
普通のプログラミング言語R普通のプログラミング言語R
普通のプログラミング言語R
 
20090801phpstudy Sanemat
20090801phpstudy Sanemat20090801phpstudy Sanemat
20090801phpstudy Sanemat
 
PhpStormを使おう --高槻からは快速急行が早くなります #jbugj
PhpStormを使おう --高槻からは快速急行が早くなります #jbugjPhpStormを使おう --高槻からは快速急行が早くなります #jbugj
PhpStormを使おう --高槻からは快速急行が早くなります #jbugj
 
あるあるLT〜サーバーサイドエンジニア〜 Vol.3
あるあるLT〜サーバーサイドエンジニア〜 Vol.3あるあるLT〜サーバーサイドエンジニア〜 Vol.3
あるあるLT〜サーバーサイドエンジニア〜 Vol.3
 
Rubyとプログラミング言語の潮流
Rubyとプログラミング言語の潮流Rubyとプログラミング言語の潮流
Rubyとプログラミング言語の潮流
 
PHPでセキュリティを真面目に考える
PHPでセキュリティを真面目に考えるPHPでセキュリティを真面目に考える
PHPでセキュリティを真面目に考える
 
Pyconjp2014_implementations
Pyconjp2014_implementationsPyconjp2014_implementations
Pyconjp2014_implementations
 
プログラマになれないあなたのための言語戦略 (Gunma.web #7 2011/12/17)
プログラマになれないあなたのための言語戦略 (Gunma.web #7 2011/12/17)プログラマになれないあなたのための言語戦略 (Gunma.web #7 2011/12/17)
プログラマになれないあなたのための言語戦略 (Gunma.web #7 2011/12/17)
 
Rubyの会社でPythonistaが三ヶ月生き延びた話
Rubyの会社でPythonistaが三ヶ月生き延びた話Rubyの会社でPythonistaが三ヶ月生き延びた話
Rubyの会社でPythonistaが三ヶ月生き延びた話
 
Rubyの会社でPythonistaが3ヶ月生き延びた話
Rubyの会社でPythonistaが3ヶ月生き延びた話Rubyの会社でPythonistaが3ヶ月生き延びた話
Rubyの会社でPythonistaが3ヶ月生き延びた話
 
PFIセミナー 2013/02/28 「プログラミング言語の今」
PFIセミナー 2013/02/28 「プログラミング言語の今」PFIセミナー 2013/02/28 「プログラミング言語の今」
PFIセミナー 2013/02/28 「プログラミング言語の今」
 
Phpcon tokyo 20120_bigginer
Phpcon tokyo 20120_bigginerPhpcon tokyo 20120_bigginer
Phpcon tokyo 20120_bigginer
 
Kanrk05 .Netでお仕事しているプログラマがスクリプト言語として使うRuby
Kanrk05 .Netでお仕事しているプログラマがスクリプト言語として使うRubyKanrk05 .Netでお仕事しているプログラマがスクリプト言語として使うRuby
Kanrk05 .Netでお仕事しているプログラマがスクリプト言語として使うRuby
 
Responsableを使ったadr実装
Responsableを使ったadr実装Responsableを使ったadr実装
Responsableを使ったadr実装
 
今日からはじめるHTML5 ver.2012
今日からはじめるHTML5 ver.2012今日からはじめるHTML5 ver.2012
今日からはじめるHTML5 ver.2012
 
正規表現リテラルは本当に必要なのか?
正規表現リテラルは本当に必要なのか?正規表現リテラルは本当に必要なのか?
正規表現リテラルは本当に必要なのか?
 
第一回Data mining勉強会 -第二章
第一回Data mining勉強会 -第二章第一回Data mining勉強会 -第二章
第一回Data mining勉強会 -第二章
 
第一回ゆるふわーる
第一回ゆるふわーる第一回ゆるふわーる
第一回ゆるふわーる
 
CakePHP3.x での各種実装例 ~| PHP Tech Bash 20171121 ~
CakePHP3.x での各種実装例 ~| PHP Tech Bash 20171121 ~CakePHP3.x での各種実装例 ~| PHP Tech Bash 20171121 ~
CakePHP3.x での各種実装例 ~| PHP Tech Bash 20171121 ~
 

Rのコードをキレイに見せたい