Redmine 4.0(Rails 5.1)でのプラグイン作成について(3)
Redmine 4.0(Rails 5.1)でのプラグイン作成について(2) - torutkのブログの続きです。
この5月は、RedmineのGlossaryプラグインをステップ・バイ・ステップで再構築する試みをずっと続けています。その様子は次のWikiページに執筆中です。
Redmine Glossaryプラグイン再構築 - ソフトウェアエンジニアリング - Torutk
日記の方では、プラグイン再構築作業をしていて感じたことなどを随時書いていこうと思っていたものの、ゆとりがなく日記更新が追い付いていませんでした。
プログラミング言語Rubyについて
いままで、幾度かRubyをかじってみたものの手に馴染む前にあきらめて放置していました。また、Redmineのプラグインを作ろうとして、あるいは既存のプラグインが動かないので手を入れようとして、そのプラグインが書かれているRubyのコードを見てみましたが、何をしているのか判然とせず、1行1行何をしているのか理解に至れていませんでした。
最初は、前置コロン、後置コロン、ハッシュの書き方がよく分からず、(例えば次のようなコード)
:name => 'glossary' name: :glossary
メソッド呼び出しの引数の丸括弧の省略がよく分からず(例えば次のコード)
<%=l :label_category %> <%=l(:label_category) %>
メソッド呼び出しの引数の最後がハッシュのときはハッシュの波括弧が省略できるので、それを理解せずコードを読むと多数の引数が指定されているように見えて、しかもリファレンス上そのような多数の引数が存在せず、大混乱したり、などなど。
そんなおり、去年の年末ごろは仕事の関係でExcel VBAを使って業務の手順を効率化するツールを作る機会があり(Excel VBAプラットフォームでプログラミング;-( - torutkのブログ)、VBAでは関数呼び出しで括弧が省略できることを知りました(省略できる場合、できない場合、setが必要な場合などかなり混乱させられましたが)。
また、今年1月からJava読書会BOFで「Kotlinイン・アクション」を読み始め、Kotlinもメソッド呼び出しでの括弧
省略や最後の引数の特別扱いなどを学び、ようやくRubyのコードに理解が及ぶようになりました。