2013年1月15日火曜日

開発環境

『初めてのC# 第2版』(Jesse Liberty+Brian MacDonald著、日向俊二訳、オライリー・ジャパン、2006年、ISBN978-487312-194-7)の 第13章(インタフェース)13.10(練習問題)練習13-1, 2を解いてみる。

その他参考書籍

練習13-1, 2.

コード

using System;

interface IConvertible
{
    string ConvertToCSharp(string str);
    string ConvertToVisualBasic(string str);

}
class ProgramHelper : IConvertible
{
    public ProgramHelper()
    {
        Console.WriteLine("Program Helperを作成");
    }
    public string ConvertToCSharp(string str)
    {
        return "C#の文字列に変換中";
    }
    public string ConvertToVisualBasic(string str)
    {
        return "VBの文字列に変換中";
    }
}
class Tester
{
    public void Run()
    {
        ProgramHelper ph = new ProgramHelper();
        string str = "文字列";
        Console.WriteLine(ph.ConvertToCSharp(str));
        Console.WriteLine(ph.ConvertToVisualBasic(str));
    }
    static void Main()
    {
        Tester t = new Tester();
        t.Run();
    }
}

入出力結果(Console Window)

Program Helperを作成
C#の文字列に変換中
VBの文字列に変換中
続行するには何かキーを押してください . . .

ちなみにJavaScriptの場合。

コード(BBEdit)

// インタフェースじゃ無い代わりに、エラーを投げるようにする
function IConvertible(){}
IConvertible.prototype.convert_to_javascript = function(s){
  throw "convert_to_javascriptが実装されていません";
};
IConvertible.prototype.convert_to_python = function(s){
  throw "convert_to_pythonが実装されていません";
};
function ProgramHelper(){
  $('#pre0').append("ProgramHelperを作成\n");
  IConvertible.apply(this, arguments);
};
ProgramHelper.prototype = new IConvertible();
ProgramHelper.prototype.convert_to_javascript = function(){
  return "JavaScriptの文字列に変換中";
};
ProgramHelper.prototype.convert_to_python = function(){
  return "Pythonの文字列に変換中";
};
var ph = new ProgramHelper();
var s = "文字列";
$('#pre0').append(ph.convert_to_javascript(s) + "\n");
$('#pre0').append(ph.convert_to_python(s) + "\n");



pythonの場合。

sample.py

コード(BBEdit)

#!/usr/bin/env python3.3
# -*- coding: utf-8 -*-

class IConvertible:
    def convert_to_python(self, s):
        raise Exception("convert_to_pythonが実装されていません")
    def convert_to_javascrpt(self, s):
        raise Exception("convert_to_javascrptが実装されていません")

class ProgramHelper(IConvertible):
    def __init__(self):
        print("ProgramHelperを作成")
    def convert_to_python(self, s):
        return "Pythonの文字列に変換中"
    def convert_to_javascrpt(self, s):
        return "JavaScriptの文字列に変換中"

if __name__ == '__main__':
    ph = ProgramHelper()
    s = "文字列"
    print(ph.convert_to_python(s))
    print(ph.convert_to_javascrpt(s))

入出力結果(Terminal)

$ ./sample.py
ProgramHelperを作成
Pythonの文字列に変換中
JavaScriptの文字列に変換中
$

0 コメント:

コメントを投稿