LoginSignup
3
1

More than 1 year has passed since last update.

RUBYのキ〇ガ〇地味たソースを読み解く

Last updated at Posted at 2021-07-08

REDMINEとGITLABに興味があり、さらにこのアプリがRUBY製というところから、
妙にRUBY on Railsに興味が出て来た。

ましてや、django , rails, laravelなどの比較情報を見ていると、
一昔前のWEB界隈は、python, ruby ,php の戦国時代だったんだろうなあと感じさせる。

Pythonは流石に3年も触ってきたので、大体のソースは読めるようになってきた。

しかしながら、Rubyというものは、まったく理解できないコードのため
一から勉強をやり直さなければならない。

RUBYのコード

幸いREDMINEのリポジトリにコードがあったので、少し読み解いてみた。
https://www.redmine.org/projects/redmine/repository/revisions/21061/entry/trunk/app/controllers/issues_controller.rb

いきなり、こんなコードが登場・・・

    if @query.valid?
      respond_to do |format|
        format.html do

なんだこのvalidのあとの「?」は → 二項演算子なのか?

|format|の「|」はなんだ → JINJA2のフィルタか? それともマークダウンのTableか? はたまた、数学の絶対値記号なのか?

意気消沈

この時点で、少し先に進む自信が無くなってきた。

しかしながら、Rubyが美しいともてはやされた時代があったようだし
この程度の事で、くじけていてはいけないのだろう。。。

これまでの苦労

AndroidのJAVAのソースを読むときも、日本語翻訳できないのかとか、
それはそれなりに苦労してきた。

    void sendAccessibilityEventUncheckedInternal(AccessibilityEvent event) {
        if (!isShown()) {
            return;
        }
        onInitializeAccessibilityEvent(event);

        if ((event.getEventType() & POPULATING_ACCESSIBILITY_EVENT_TYPES) != 0) {
            dispatchPopulateAccessibilityEvent(event);
        }

        getParent().requestSendAccessibilityEvent(this, event);
    }

WEBLIOで翻訳(単語間をスペースで間引く)

空所は、フリーパスでアクセシビリティ・イベントを内在している(アクセスしやすさ試合種目)ようにします{(!示します()){戻り;
        }
        イニシャライズ・アクセシビリティ・イベント(イベント)で;
        ((イベントはイベント・タイプ()&住んでいるアクセスしやすさイベント・タイプを得ます)!= 0){
    急送は、アクセシビリティ・イベント(イベント)に住みます;
        }
        親()をつかまえてください。要請は、アクセシビリティにイベント(これ、イベント)を送ります;
    }

プログラミング言語というもの

今回のRubyは、これとは全く別の次元で苦労をすることになる。

もとはと言えば、やはり英語圏でない民族にとっては、プログラミング言語が英語であるということは、
この上もない不幸な話ではないだろうか。。。

そういう意味では、RUBYを開発したMATZには、もっと日本人の魂を入れてほしかった。

これからの日本のIT戦略においては、日本語言語に追従していくのが、一つの選択肢であるように思ってしまう。

(今回のポエムの最終到達点も、やはり一目置いているクジラさんに行きついてしまう・・・)

3
1
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
1