福沢諭吉 : 動物愛

どんな虫や
動物に対しても
やたらこれを痛めつけるのは
よいことではありません。

虫や動物にも
命があるのです。

小さな動物を
苦しめたりすると

だんだんと
これに慣れてしまって

やがて小さな動物に
対してだけでなく

同じ人間に対しても
心の優しさを失って

ついにはとても悪いことを
するようになってしまう
ことがあるからなのです。

PHP jqGrid用JSON応答用コード

いちばん簡潔に書くと、以下のようになります。

[ コード例 ]


<?php  

try {
  
  // 接続定義 //
  $connect_db = "mysql:dbname=databasename;host=localhost;charset=utf8";
  $connect_user = '?????';
  $connect_passwd = '??????';

  //データベース接続
  $dbm = new PDO($connect_db, $connect_user, $connect_passwd);
  // 検索 //
  $stmt = $dbm->query($SQL);
  
  // JSONクラスのインスタンス化 //
  $responce = new stdClass();

  $i = 0;
  while ($row = $stmt->fetch(PDO::FETCH_ASSOC)) {
    foreach ($row as $fld => $val) {
       //echo $val."\n";
      $responce->rows[$i][$fld] = mb_convert_encoding($val, "UTF-8", "auto");
    }
    $i++;
  }

  // JSONに変換して出力 //
  echo json_encode($responce, JSON_PRETTY_PRINT);
  
} catch (Exception $ex) {
  var_dump($ex->getMessage());
}

// 切断 //
$dbm = null;

?>

groovy を試してみる

groovy を初めてさわってみて、ループ処理を試してみました。



package vesselsch.grtst

/**
 * groovy テストクラス
 * @author MyName
 */
public class testclass {
  
  private final def name='MyName'
  
  
  // デフォルトコンストラクタ //
  public testclass () {  
  }

  public def hello() {
    println "Hello $name!"
  }
  
  // 九九表 in loop //
  public def kuku_in () {
    
    println ('-- kuku_in --')
    
    // 99 //
    for (i in 1..9) {
      for (j in 1..9) {
        println "$i X $j = ${i * j}"
      }
    }
    
  }
  
  // 九九表 each loop //
  public def kuku_each () {
    
    println ('-- kuku_each --')
    
    def l
    (1..9).each {
      l = it
      (1..9).each {
        println "$l X $it = ${l * it}"
      }
    }
    
  }
  
  // 九九表 array loop //
  public def kuku_array () {
    
    println ('-- kuku_array --')
    
    def iary = [1, 2, 3, 4, 5, 6, 7, 8, 9]
    def jary = [1, 2, 3, 4, 5, 6, 7, 8, 9]

    def ipos = 0
    def jpos = 0
    def itmp
    def jtmp
    iary.each {
      //println iary[pos++]
      itmp = iary[ipos]
      jpos = 0
      jary.each {
        //println "$iary[ipos] X $jary[jpos] = ${iary[ipos] * jary[jpos++]}"   // <== これはばつ
        // [1, 2, 3, 4, 5, 6, 7, 8, 9][ipos] X [1, 2, 3, 4, 5, 6, 7, 8, 9][jpos] = 5
        jtmp = jary[jpos]
        println "$itmp X $jtmp = ${iary[ipos] * jary[jpos]}"
        //println "${iary[ipos]} X ${jary[jpos]} = ${iary[ipos] * jary[jpos]}"
        jpos++
      }
      ipos++
    }
    
  }
  
  // 型推論テスト うるう年判定 //
  public def is_leap_year(y) {
    
    def isleap = false;     // デフォルト //

    if (y % 100 == 0) {
      if (y % 400 == 0) {
        isleap = true;
      }
    }
    else if (y % 4 == 0) {
      isleap = true;
    }
    return isleap
    
  }
  
  // 文字列反転 //
  public def reverseTxt (src) {
    
    def res = ""
    def len = src.length() - 1
    
    //println "$len"
    
    def tmp
    len.downto(0) {
      //tmp = src.getAt(it, ${it + 1})
      //println "$tmp"
      //println "$it"
      //tmp = src.getAt(it..(it + 1))
      //tmp = src.getAt($it..($it + 1))
      //tmp = src.getAt(it)
      //println "$tmp"
      
      res += src.getAt(it)
    }
    return res
    
    
  }
  
  public static void main(String[] args) {
    
    // インスタンス化 //
    def tst = new testclass ();
   
    
    // voidメソッド呼出し //
    tst.hello()
    tst.kuku_in()
    tst.kuku_each()
    tst.kuku_array()
    
    def isLeap = tst.is_leap_year(2018)
    
    println "$isLeap"
    
    
    // 関数呼び出しテスト //
    // その1:変数化 //
    def rev = tst.reverseTxt ("あいうえお")
    println "$rev"   
    // その2:直接化 //
    println "${tst.reverseTxt ('あいうえお')}"
    
    //def testclass tst2 = new testclass();   // <=== これは間違い
       
  }
  
  
}