SlideShare une entreprise Scribd logo
1  sur  22
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
質問タイム 質問・ツッコミなどあれば!

Contenu connexe

Tendances

.NET系開発者から見たJava
.NET系開発者から見たJava.NET系開発者から見たJava
.NET系開発者から見たJavableis tift
 
プログラミング言語として考えたTensor flow
プログラミング言語として考えたTensor flowプログラミング言語として考えたTensor flow
プログラミング言語として考えたTensor flowKeisuke Umezawa
 
Introduction to lambda calculation
Introduction to lambda calculationIntroduction to lambda calculation
Introduction to lambda calculationrelipmoc101
 
正規表現
正規表現正規表現
正規表現bsdhack
 
.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::Lintmoznion
 
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 2013moznion
 
新人プログラマーが気に入ったPythonの基礎の基礎
新人プログラマーが気に入ったPythonの基礎の基礎新人プログラマーが気に入ったPythonの基礎の基礎
新人プログラマーが気に入ったPythonの基礎の基礎iPride Co., Ltd.
 
D言語にまだ入っていない新機能 (Dの日#2)
D言語にまだ入っていない新機能 (Dの日#2)D言語にまだ入っていない新機能 (Dの日#2)
D言語にまだ入っていない新機能 (Dの日#2)tom-tan
 

Tendances (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)
 

En vedette

言語教育のためのコーパス利用
言語教育のためのコーパス利用言語教育のためのコーパス利用
言語教育のためのコーパス利用SAKAUE, Tatsuya
 
Rmpiとsnowで 並列処理
Rmpiとsnowで 並列処理Rmpiとsnowで 並列処理
Rmpiとsnowで 並列処理Masafumi Okada
 
オープンエデュケーションの可能性とMOOCsのインパクト
オープンエデュケーションの可能性とMOOCsのインパクトオープンエデュケーションの可能性とMOOCsのインパクト
オープンエデュケーションの可能性とMOOCsのインパクトKatsusuke Shigeta
 
単語重要度入門 〜テキストをダイエットさせよう〜
単語重要度入門 〜テキストをダイエットさせよう〜単語重要度入門 〜テキストをダイエットさせよう〜
単語重要度入門 〜テキストをダイエットさせよう〜toilet_lunch
 

En vedette (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
 
単語重要度入門 〜テキストをダイエットさせよう〜
単語重要度入門 〜テキストをダイエットさせよう〜単語重要度入門 〜テキストをダイエットさせよう〜
単語重要度入門 〜テキストをダイエットさせよう〜
 

Similaire à 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
普通のプログラミング言語RShuyo Nakatani
 
PhpStormを使おう --高槻からは快速急行が早くなります #jbugj
PhpStormを使おう --高槻からは快速急行が早くなります #jbugjPhpStormを使おう --高槻からは快速急行が早くなります #jbugj
PhpStormを使おう --高槻からは快速急行が早くなります #jbugjHisateru Tanaka
 
あるあるLT〜サーバーサイドエンジニア〜 Vol.3
あるあるLT〜サーバーサイドエンジニア〜 Vol.3あるあるLT〜サーバーサイドエンジニア〜 Vol.3
あるあるLT〜サーバーサイドエンジニア〜 Vol.3Keiichi Hagiwara
 
Rubyとプログラミング言語の潮流
Rubyとプログラミング言語の潮流Rubyとプログラミング言語の潮流
Rubyとプログラミング言語の潮流Kazuhiko Kato
 
PHPでセキュリティを真面目に考える
PHPでセキュリティを真面目に考えるPHPでセキュリティを真面目に考える
PHPでセキュリティを真面目に考えるTakuya Sato
 
Pyconjp2014_implementations
Pyconjp2014_implementationsPyconjp2014_implementations
Pyconjp2014_implementationsmasahitojp
 
プログラマになれないあなたのための言語戦略 (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が3ヶ月生き延びた話
Rubyの会社でPythonistaが3ヶ月生き延びた話Rubyの会社でPythonistaが3ヶ月生き延びた話
Rubyの会社でPythonistaが3ヶ月生き延びた話Tokoroten Nakayama
 
Rubyの会社でPythonistaが三ヶ月生き延びた話
Rubyの会社でPythonistaが三ヶ月生き延びた話Rubyの会社でPythonistaが三ヶ月生き延びた話
Rubyの会社でPythonistaが三ヶ月生き延びた話Drecom Co., Ltd.
 
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_bigginerHideo Kashioka
 
Kanrk05 .Netでお仕事しているプログラマがスクリプト言語として使うRuby
Kanrk05 .Netでお仕事しているプログラマがスクリプト言語として使うRubyKanrk05 .Netでお仕事しているプログラマがスクリプト言語として使うRuby
Kanrk05 .Netでお仕事しているプログラマがスクリプト言語として使うRubyShinichi Okada
 
Responsableを使ったadr実装
Responsableを使ったadr実装Responsableを使ったadr実装
Responsableを使ったadr実装Kenjiro Kubota
 
今日からはじめるHTML5 ver.2012
今日からはじめるHTML5 ver.2012今日からはじめるHTML5 ver.2012
今日からはじめるHTML5 ver.2012Yasuhito 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 ~諒一 上野
 

Similaire à 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が3ヶ月生き延びた話
Rubyの会社でPythonistaが3ヶ月生き延びた話Rubyの会社でPythonistaが3ヶ月生き延びた話
Rubyの会社でPythonistaが3ヶ月生き延びた話
 
Rubyの会社でPythonistaが三ヶ月生き延びた話
Rubyの会社でPythonistaが三ヶ月生き延びた話Rubyの会社でPythonistaが三ヶ月生き延びた話
Rubyの会社でPythonistaが三ヶ月生き延びた話
 
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のコードをキレイに見せたい