読者です 読者をやめる 読者になる 読者になる

non vorrei lavorare

ブログ名の通りです。javascript three.js mruby rust OCaml golang julialang blender

Webrubyで正規表現を使うには #mruby

パソコン・インターネット
こんにちは、次男がようやく胃腸炎から回復したみたいで3度目の離乳食にチャレンジします。kjunichiです。

webrubyで正規表現が使えた!

と呟いたところ、

と、なんとRubyの作者のまつもとゆきひろさんご自身より返信が!

ということで、mrubyを手元でコンパイルでして、正規表現を組み込むことは思いの外簡単に出来、 それでは、ということで、webrubyでやってみたら、Rakeファイルに実は説明が書いてあり、 こちらも簡単にできました。

Rakefileの編集

最後の方に

conf.gem :github => 'masamitsu-murase/mruby-hs-regexp'

を追加。たったこれだけ、

rake clean
rake

Rakefile全体

require 'webruby'

# This file sets up the build environment for a webruby project.
Webruby::App.setup do |conf|
  # Entrypoint file name
  conf.entrypoint = 'app/app.rb'

  # By default, the build output directory is "build/"
  conf.build_dir = 'build'

  # Use 'release' for O2 mode build, and everything else for O0 mode
  conf.compile_mode = 'debug'

  # Loading mode, see lib/webruby/utility.rb for details
  conf.loading_mode = 2

  # By default the final output file name is "webruby.js"
  conf.output_name = 'webruby.js'

  # The syntax for adding gems here are kept the same as mruby.
  # Below are a few examples:

  # mruby-eval gem, all parsing code will be packed into the final JS!
  # conf.gem :core => "mruby-eval"

  # JavaScript calling interface
   conf.gem :git => 'git://github.com/xxuejie/mruby-js.git', :branch => 'master'

  # OpenGL ES 2.0 binding
  # conf.gem :git => 'git://github.com/xxuejie/mruby-gles.git', :branch => 'master'

  # Normally we wouldn't use this example gem, I just put it here to show how to
  # add a gem on the local file system, you can either use absolute path or relative
  # path from mruby root, which is modules/webruby.
  # conf.gem "#{root}/examples/mrbgems/c_and_ruby_extension_example"
conf.gem :github => 'masamitsu-murase/mruby-hs-regexp'
end

Jsdo.itで動かした

まとめ

webrubyでも簡単にgemを追加することができる事が分かった。

mruby-onig-regexp(鬼車)は、残念ながら、ヘッダファイルが見つからないとエラーで うまく行かなかった。

実はこの記事書こうと試した際に、Rakefileを編集し、rakeを実行したら、 webrubyが無いと怒られた。

これは、rbenvで rubyのバージョンをあげていたから、gem webrubyとすることで解決したw。

関連記事