このブログへの投稿/アップロードについて(コメントは誰でも、投稿は受講者+スタッフのみ)
コメント/投稿/ラベルについて(基本事項)投稿時間の設定(下書き/予定など)プログラム(ソースコード)を投稿する際の注意点Processingのプログラム(Applet)を表示する方法
ArduinoやProcessingについては「建築発明工作ゼミ2008」の方にまとめてあります。
秋葉原の電子工作マップ、Arduino販売店についてはこちら。 :

2009年6月11日木曜日

投稿の際のヒント

プログラムのコードを投稿する際のヒント(記事内に特定の文字や記号を使う場合)
ブログに記事を投稿する際に「HTMLの編集」と「作成」という二つの記入モードがありますが、以下の説明は「HTMLの編集」を選んで記入する際のヒントです。

以下はArduinoにおけるサーボのソース(建築発明工作ゼミより)ですが、以下の内容を直接記入して投稿するとブログでは表示上問題が出てきます。

#include <Servo.h>
Servo servo;

void setup(){
servo.attach(3);
}

void loop(){
float val=analogRead(0)*0.176;
servo.write(int(val));
Servo::refresh();
}

まず、ソース内一行目の「<」と「>」は、このままだとHTMLのタグ記号として扱われるので、「<」を「&lt;」に「>」を「&gt;」に置き換える必要があります。そのままだと表示されないかエラーがでることがあります。

変更前:
#include <Servo.h>

変更後:
#include &lt;Servo.h&gt;

また、「x<a」のような場合も置き換えて下さい。あるいは、「<」記号のあとに半角スペースを挿入して下さい。

変更前:
x<a

変更後:
x&lt;a
あるいは
x < a


次に、void setup(){...}やvoid draw(){...}で囲まれたなかの行頭を右にずらして表示させるには、HTMLタグの<pre>...</pre>を使って以下のように全体を囲んでおきます。そうすれば複数の半角スペースで右にずらされたまま表示されます。

投稿の記入例:

<pre>
#include &lt;Servo.h&gt;
Servo servo;

void setup(){
servo.attach(3);
}

void loop(){
float val=analogRead(0)*0.176;
servo.write(int(val));
Servo::refresh();
}
</pre>


<pre>...</pre>を使わないで記入すると以下のように、すべての行が左寄りになってしまいます。

#include &lt;Servo.h&gt;
Servo servo;

void setup(){
servo.attach(3);
}

void loop(){
float val=analogRead(0)*0.176;
servo.write(int(val));
Servo::refresh();
}

行頭を右にずらす方法として、通常半角のスペース(あるいはタブ)を使いますが、行頭に半角のスペースを挿入しても左に寄せられてしまいます。そのかわりとして全角のスペースを挿入する方法がありますが、通常の文章であれば問題ないけれども、プログラムのソースコードなどに使うと、半角のスペースのかわりに全角のスペースが挿入されているため、表示されているソースをコピー&ペーストして使う際にエラーが出てきます。見た目にはどちらもスペースなので分かりにくいエラーとなってしまいます。

追記:(kotobukiさんのコメントから)
Arduino 0016からはTools>Copy as HTMLで、ソースをクリップボードにHTMLフォーマットでコピーできるようになりました。
以下は「Copy as HTML」機能を使ってコピー&ペーストした表示例。
一行目の「<」と「>」は「&lt;」と「&gt;」に要変更。

 
#include <Servo.h>
Servo servo;

void setup(){
servo.attach(3);
}

void loop(){
float val=analogRead(0)*0.176;
servo.write(int(val));
Servo::refresh();
}

3 件のコメント:

  1. こんにちは。いつも楽しく読ませていただいております。

    Arduino 0016からはHTMLとしてコピーという機能が加わりましたが、そちらではいかがでしょうか。もし勘違いでしたらすみません。

    返信削除
  2. どうもありがとうございます。
    それは便利ですね、早速試してみます。

    返信削除
  3. Arduino 0016のTools>Copy as HTMLを使ってみました。
    「<」と「>」に囲まれた箇所は、表示されないようですが、行頭のスペースや色が自動的に変わる部分は便利そうです。

    返信削除

*