hiromasa.zone : o)

2005/8/17 Wednesday 投稿時の月齢:12.6  月名:十三夜  潮汐:中潮 Moon:12.6[十三夜]今日の心技体 : 好調前不安定期低調期好調期

WordPress のエントリでプログラムコードをハイライトする! – その2 – このエントリをはてなブックマークに追加このエントリをdel.icio.usに追加

日記 - ひろまさ @ 17:11

chameleon さんの「PHP Highlight String Ver.0.9.9」 は WP のエントリ上でソースコードの色分け表示をしてくれる大変優れたプラグインです。

対応している言語 & マークアップはなんと 13種類。 行番号付与も可能でいたれりつくせりです。 (途中行番号表示機能の実装、どうもありがとうございました!)

有効に使わせて頂こうと思い、まずは対応 13 言語 Hello World に挑戦してみました。

一応、コメントや予約語等言語特有のエッセンスを含めてコードをかいてみました。 MySQL と SQL はひとつにまとめて、12種類連続はりきっていってみましょう。 🙂

最初はおなじみ PHP。 意味もなくオブジェクト指向で Hello World。

  1.  <?php
  2.  /*******************************************************
  3.   * Hello PHP World
  4.   *  - Define HelloPHPWorld Class.
  5.   ******************************************************/
  6.  class HelloPHPWorld {
  7.   
  8.    var $helloMessage;
  9.   
  10.    /**
  11.    * The Constructor
  12.    *
  13.    * @param string $helloMessage
  14.    * @return Object reference
  15.    */
  16.    function HelloPHPWorld($helloMessage = 'Hello PHP World.') {
  17.     
  18.      $this->helloMessage = $helloMessage;
  19.     
  20.    }
  21.   
  22.    /**
  23.    * Say Hello
  24.    *
  25.    * @param none
  26.    * @return string
  27.    */
  28.    function sayHello() {
  29.       
  30.        return $this->helloMessage;
  31.       
  32.    }
  33.   
  34.  }
  35.  
  36.  /*******************************************************
  37.   * Main
  38.   *  - Output Hello World.
  39.   ******************************************************/
  40.  
  41.  $hello = & new HelloPHPWorld();
  42.  echo $hello->sayHello() . "\n";
  43.  ?>

次は、C++。 なぜかこちらはベタがきで Hello。

  1.  /*******************************************************
  2.   * Hello C++ World
  3.   ******************************************************/
  4.  
  5.  #include <iostream>
  6.  
  7.  int main(void) {
  8.   
  9.    // Output Hello World.
  10.    std::cout <<"Hello World!\n";
  11.   
  12.    // Rerutn Error Code.
  13.    return 0;
  14.   
  15.  }

スタイルシートで Hello World (!?)。。 とりあえず。。

  1.  /*******************************************************
  2.   * Hello CSS World
  3.   ******************************************************/
  4.  
  5.  .helloworld {
  6.      margin: 0;
  7.      padding: 0;
  8.      color: #000;
  9.      background-color: #fff;
  10.      background-image: url('images/logo200506.png');
  11.  }

続いて、diff で Hello World。。 なんとなく、”悲しみよこんにちは” を思い出しました。

  1.  --- 02.hello.cpp.old 2005-08-17 12:33:05.000000000 +0900
  2.  +++ 02.hello.cpp 2005-08-17 12:32:56.000000000 +0900
  3.  @@ -7,7 +7,7 @@
  4.   int main(void) {
  5.  
  6.    // Output Hello World.
  7.  -  std::cout <<"Goodby World!\n";
  8.  +  std::cout <<"Hello World!\n";
  9.  
  10.    // Rerutn Error Code.
  11.    return 0;

dtd で Hello World。。 世界の定義はできないので・・・、XHTML の dtd より抜粋でご勘弁を。

  1.  <!ENTITY % Scope "(row|col|rowgroup|colgroup)">
  2.  
  3.  <!ATTLIST th
  4.    %attrs;
  5.    abbr        %Text;        #IMPLIED
  6.    axis        CDATA          #IMPLIED
  7.    headers    IDREFS        #IMPLIED
  8.    scope      %Scope;        #IMPLIED
  9.    rowspan    %Number;      "1"
  10.    colspan    %Number;      "1"
  11.    %cellhalign;
  12.    %cellvalign;
  13.    >

JavaScript で Hello World。 ソラでかいているので間違っているかもです。

  1.  /*******************************************************
  2.   * Hello JavaScript World
  3.   ******************************************************/
  4.  
  5.  function sayHello() {
  6.    alert("Hello JavaScript World.");
  7.  }
  8.  
  9.  sayHello();

sql で Hello World。 世界から検索してみました。(よく分からない..

  1.  --------------------------------------------------------
  2.  - Hello SQL World
  3.  --------------------------------------------------------
  4.  
  5.  SELECT  message
  6.  FROM    world
  7.  WHERE  lang=`en` and
  8.          time=`daytime';

Perl で Hello World。 Perl はひさしぶり。

  1.  #!/usr/bin/perl
  2.  
  3.  ########################################################
  4.  # Hello Perl World
  5.  ########################################################
  6.  
  7.  sub sayHello {
  8.    print "Hello Perl World.\n";
  9.  }
  10.  
  11.  sayHello();

Python で Hello World。 Python 初体験。 ははー、インデントが意味を持つ言語なのですね。 なるほど。

  1.  #!/usr/bin/python
  2.  
  3.  ########################################################
  4.  # Hello Python World
  5.  ########################################################
  6.  
  7.  def sayHello():
  8.    print "Hello Python World."
  9.  
  10.  sayHello()

Ruby で Hello World。 これまた Ruby も初体験。

  1.  #!/usr/bin/ruby
  2.  
  3.  ########################################################
  4.  # Hello Ruby World
  5.  ########################################################
  6.  
  7.  def sayHello()
  8.    print "Hello Ruby World.\n"
  9.  end
  10.  
  11.  sayHello();

XML ってことで、XHTML で Hello World。

  1.  <?xml version="1.0" encoding="UTF-8"?>
  2.  <!DOCTYPE html
  3.    PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
  4.    "DTD/xhtml1-strict.dtd">
  5.  <html
  6.    xmlns="http://www.w3.org/1999/xhtml"
  7.    xml:lang="ja"
  8.    lang="ja">
  9.    <head>
  10.      <title>Hello XHTML World.</title>
  11.    </head>
  12.    <body>
  13.      <!-- Hello :-) -->
  14.      <p>Hello XHTML World.</p>
  15.    </body>
  16.  </html>

最後は Java で Hello World。 いろんなソース書いていたら一瞬分からなくなって焦りました。。

  1.  /**************************************************
  2.   * Hello Java World
  3.   *************************************************/
  4.  
  5.  import java.lang.String;
  6.  
  7.  public class HelloJavaWorld {
  8.   
  9.    private String helloMessage = "Hello Java World.";
  10.   
  11.    /**
  12.    * The Constructor
  13.    */
  14.    HelloJavaWorld() {
  15.       
  16.        sayHello();
  17.       
  18.    }
  19.   
  20.    /**
  21.    * Say Hello
  22.    */
  23.    private void sayHello() {
  24.       
  25.        System.out.println(this.helloMessage);
  26.       
  27.    }
  28.   
  29.    /**
  30.    * Main Static method
  31.    */
  32.    public static void main(String[] args) {
  33.       
  34.        new HelloJavaWorld();
  35.       
  36.    }
  37.   
  38.  }

以上、12言語でした。 良い感じに色分けされています。 😛

素晴らしいプラグインをつくられた chameleon さんに感謝します。

2 Comments

Comment

  1. From: chameleon - 2005/8/18 Thursday Nighttime (Comment)

    フルラインナップのコードで検証、ありがとうございます。こうして眺めると壮観です。

    DBへの保存で、SQLのシンタックスエラーになるパターンを発見してしまいました・・・。Fixできる日はいつなのか・・・。

  2. From: ひろまさ - 2005/8/19 Friday Nighttime (Comment)

    表示、とても良い感じですー。 どうもありがとうございました!。

    > DBへの保存で、SQLのシンタックスエラーになるパターンを発見してしまいました・・・。

    DBエスケープの関係ですかね・・・。かなり繊細なプログラムが要求されそうで、ぼくの根性ではとてもつくれそうにないプラグインのひとつです。 🙂

    検証等ありましたらお手伝いできると思いますので、なにかあったら是非ご連絡下さい!


このサイトはコンテンツをフリーズしました。トラックバック・コメントは閉じられています。

新しいサイトは、

hiromasa.another :o)

です。 :-)

このサイトについて

このブログは引っ越しを行いコンテンツはフリーズしています。hiromasa.anotherへどうぞ。

Powerd By WordPress

We (Heart) WordPress

WordPressME Logo
WordPress Plugins

ブログ内検索

Todays Popular

WordPress Ring

はてなリング - WordPress -

情報

33 queries. 0.446 seconds.

このページの先頭へ