ページ

2016年10月2日日曜日

目指せ50投稿!!

この「使える役立つブログ」を、記事数の多いより良いものとするために、
目標を定めたいと思います。

目指せ、 50 投稿!!

このブログは、使える・役立つものを発信していくブログです。
また、情報は多くに越したことはありません。
よって、より多くの役立つ情報を発信したいと考えています。

しかし、ただ書いているだけでは、私が飽きてしまうかもしれません。
そこで、当面の目標を決めました。
目標があれば、達成してやろうという気持ちで 記事をたくさん書けるでしょう。
それが上記のとおりです。

この目標を達成した時には、次の目標を立てたいと思います。

あえて、期間を定めないところに抜け道がありますが...

2016年10月1日土曜日

sinatraで変数を展開できない時の対処法

状況


sinatraで変数を展開してURLに代入しようとしました。
実行してみると、変数が代入されるべきところには、変数の名前が入っていて、変数が展開されていませんでした。

redirect '/browse/"#{@isbn}"/"#{@id}"'

が、

/browse/#{@isbn}/#{@id}

となってしまいます。

原因


ダブルクォーテーション「 " 」ではなく、シングルクォーテーション「 ' 」で囲んでいたことが原因です。

ダブルクォーテーション「 " 」と、シングルクォーテーション「 ' 」の違いとは?

シングルクォートでは#{}という特殊文字の解釈が行われません。そのため、変数や定数の展開は行われません。文字をそのまま表示したい時に使えばよいのではないでしょうか。

ダブルクォーテーションでは、展開がされます。日本語文字もダブルクォーテーションで囲むため、基本はダブルクォーテーションを使うようにすれば良いのではないでしょうか。

ただ、この違いを知っておくと、必要なときに使い分けられるため、プログラム技術の向上につながります。このような違いも知っていくことが、優秀なプログラマーへと繋がるのではないでしょうか。

対処


変数の展開は、ダブルクォーテーション「 " 」ではなく、シングルクォーテーション「 ' 」で囲む


こちらのサイトが、この記事で書いていることの参考になると思います。
(この質問サイトもおすすめです)
【sinatra】変数を使ったパス指定ができない

Ruby/SDLをUbuntuにインストールする

(2016-10-03大幅更新)
RubyでGUI(ウィンドウ)のあるアプリケーションを作成できるRuby/SDLというものがあります。

これをUbuntuにインストールしようとした時、調べてもなかなかインストール方法がわからなかったので、ここにインストール方法を示しておきます。