2013年2月28日木曜日

開発環境

『初めての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 ConvertToJavaScript(string str);
}

class ProgramHelper : IConvertible
{
    public ProgramHelper()
    {
        Console.WriteLine("ProgramHelperを作成");
    }
    #region IConvertible
    public string ConvertToCSharp(string str)
    {
        return "C#の文字列に変換中…";
    }
    public string ConvertToJavaScript(string str)
    {
        return "JavaScriptの文字列に変換中…";
    }
    #endregion
}

class Tester
{
    public void Run()
    {
        ProgramHelper ph = new ProgramHelper();
        string s = "文字列";
        Console.WriteLine(ph.ConvertToCSharp(s));
        Console.WriteLine(ph.ConvertToJavaScript(s));
    }
    static void Main()
    {
        Tester t = new Tester();
        t.Run();
    }
}

入出力結果(Console Window)

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

ちなみにJavaScriptの場合。

コード(BBEdit)

var IConvertible = function(  ) { },
    ProgramHelper = function(  ) {
        $('#pre0').append("ProgramHelperを作成\n");
        IConvertible.apply(this);
    },
    s = "文字列",
    ph;
IConvertible.prototype.convertToCSharp = function (  ) {
    throw "convertToCSharpを実装していない";
},
IConvertible.prototype.convertToJavaScript = function ( ) {
    throw "convertToJavaScriptを実装していない";
},
ProgramHelper.prototype = new IConvertible(),
ProgramHelper.prototype.convertToCSharp = function( s ) {
    return "C#の文字列に変換中…";
},
ProgramHelper.prototype.convertToJavaScript = function ( s ) {
    return "JavaScriptの文字列に変換中…";
};
ph = new ProgramHelper();
$('#pre0').append(ph.convertToCSharp(s) + "\n" +
    ph.convertToJavaScript(s));



pythonの場合。

コード(BBEdit)

sample.py

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

class IConvertible:
    def convertToJavaScriprt(self, s):
        raise Exception("convertToJavaScriprtが定義されていない")
    def convertToPython(self, s):
        raise Exception("convertToPythonが定義されていない")

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

ph = ProgramHelper()
s = "文字列"
for x in [ph.convertToJavaScriprt(s), ph.convertToPython(s)]:
    print(x)

入出力結果(Terminal)

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

0 コメント:

コメントを投稿