[Микро-этюд] (o)_(o)
От: Пельмешко Россия blog
Дата: 16.09.10 14:14
Оценка: 40 (4) :))
Сделайте так, чтобы данный код успешно компилировался и выводил на экран строку "(o)_(o)".
Запрещено изменять метод Main(), вводить новые типы и переименовывать имеющиеся.

class Foo {
    static void Main() {
        System.Console.WriteLine((o)_(o));
    }
}

Re: [Микро-этюд] (o)_(o)
От: Uzzy Россия  
Дата: 16.09.10 14:25
Оценка: 80 (6)
Здравствуйте, Пельмешко, Вы писали:

П>Сделайте так, чтобы данный код успешно компилировался и выводил на экран строку "(o)_(o)".

П>Запрещено изменять метод Main(), вводить новые типы и переименовывать имеющиеся.

П>
П>class Foo {
П>    static void Main() {
П>        System.Console.WriteLine((o)_(o));
П>    }
П>}
П>

П>

как-то так




using o = System.String;

namespace A
{
    class Foo
    {
        
        static void Main()
        {
            System.Console.WriteLine((o)_(o));
        }

        private static string o = "(o)_(o)";
        static string _(string o)
        {
            return o;
        }
    }
}
Re[2]: [Микро-этюд] (o)_(o)
От: Пельмешко Россия blog
Дата: 16.09.10 14:28
Оценка:
Здравствуйте, Uzzy, Вы писали:

U>как-то так


зачёт!
Re[2]: [Микро-этюд] (o)_(o)
От: SE Украина  
Дата: 16.09.10 14:35
Оценка:
Здравствуйте, Uzzy, Вы писали:

U>Здравствуйте, Пельмешко, Вы писали:


П>>Сделайте так, чтобы данный код успешно компилировался и выводил на экран строку "(o)_(o)".

П>>Запрещено изменять метод Main(), вводить новые типы и переименовывать имеющиеся.

U>как-то так


U>
U>using o = System.String;
U>


А как же выделенное?
Re[3]: [Микро-этюд] (o)_(o)
От: Пельмешко Россия blog
Дата: 16.09.10 14:41
Оценка:
Здравствуйте, SE, Вы писали:

SE>Здравствуйте, Uzzy, Вы писали:


U>>Здравствуйте, Пельмешко, Вы писали:


П>>>Сделайте так, чтобы данный код успешно компилировался и выводил на экран строку "(o)_(o)".

П>>>Запрещено изменять метод Main(), вводить новые типы и переименовывать имеющиеся.

U>>как-то так


U>>
U>>using o = System.String;
U>>


SE>А как же выделенное?


Using-синоним — не переименование, тип System.String по прежнему доступен
Можно конечно придраться к тому, что я не дал определение "переименованию" типа, но... !
Re[4]: [Микро-этюд] (o)_(o)
От: Muxa  
Дата: 17.09.10 08:21
Оценка: :))
П>Using-синоним — не переименование, тип System.String по прежнему доступен
П>Можно конечно придраться к тому, что я не дал определение "переименованию" типа, но... !

ок, тогда дай определение переименованию, так ради интереса.
у меня тоже был вариант с using'ом, но я подумал что как раз это и имелось в виду под переименованием.
так что мне тоже зачет ставь.
Re: [Микро-этюд] (o)_(o)
От: Аноним  
Дата: 17.09.10 11:03
Оценка: 4 (1) :)
Здравствуйте, Пельмешко, Вы писали:

П>Сделайте так, чтобы данный код успешно компилировался и выводил на экран строку "(o)_(o)".

П>Запрещено изменять метод Main(), вводить новые типы и переименовывать имеющиеся.

П>
П>class Foo {
П>    static void Main() {
П>        System.Console.WriteLine((o)_(o));
П>    }
П>}
П>

П>

Поменьше бы таких «микроэтюдов» в коде..
Re[5]: [Микро-этюд] (o)_(o)
От: Пельмешко Россия blog
Дата: 17.09.10 14:45
Оценка: +1
Здравствуйте, Muxa, Вы писали:

П>>Using-синоним — не переименование, тип System.String по прежнему доступен

П>>Можно конечно придраться к тому, что я не дал определение "переименованию" типа, но... !

M>у меня тоже был вариант с using'ом, но я подумал что как раз это и имелось в виду под переименованием.


Не знаю, для меня как то исторически сложилось, что переименование — это когда чему-то дают новое имя, а старое имя перестаёт существовать.
Например, в windows explorer можно переименовать файл и, о удивительно (!), по старому имени он больше не будет доступен, да да!


M>так что мне тоже зачет ставь.


Re[6]: [Микро-этюд] (o)_(o)
От: Muxa  
Дата: 17.09.10 14:52
Оценка:
П>Не знаю, для меня как то исторически сложилось, что переименование — это когда чему-то дают новое имя, а старое имя перестаёт существовать.
П>Например, в windows explorer можно переименовать файл и, о удивительно (!), по старому имени он больше не будет доступен, да да!

а как переименовать имеющийся в .Net Framework тип?
слишком сложно
От: rm822 Россия  
Дата: 19.09.10 09:43
Оценка: :)
проще так

/*
class Foo {
    static void Main() {
        System.Console.WriteLine((o)_(o));
    }
}
*/

class Foo {
    static void Main() {
        System.Console.WriteLine("(o)_(o)");
    }
}
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[7]: [Микро-этюд] (o)_(o)
От: hardcase Пират http://nemerle.org
Дата: 19.09.10 10:08
Оценка:
Здравствуйте, Muxa, Вы писали:

П>>Не знаю, для меня как то исторически сложилось, что переименование — это когда чему-то дают новое имя, а старое имя перестаёт существовать.

П>>Например, в windows explorer можно переименовать файл и, о удивительно (!), по старому имени он больше не будет доступен, да да!

M>а как переименовать имеющийся в .Net Framework тип?


В C# можно ввести только алиас using-ом, но он будет доступен лишь в том файле, где описан.
В Nemerle можно ввести алиас типа, доступный во всей сборке, а также за ее пределеами. Например, таким способом введены типы string, int и прочие:
public type int = System.Int32;
/* иЗвиНите зА неРовнЫй поЧерК */
Re[7]: [Микро-этюд] (o)_(o)
От: midcyber
Дата: 19.09.10 13:26
Оценка: +1
Здравствуйте, Muxa, Вы писали:

П>>Не знаю, для меня как то исторически сложилось, что переименование — это когда чему-то дают новое имя, а старое имя перестаёт существовать.

П>>Например, в windows explorer можно переименовать файл и, о удивительно (!), по старому имени он больше не будет доступен, да да!

M>а как переименовать имеющийся в .Net Framework тип?


По условию, очевидно, имелось в виду нельзя переименовывать class Foo в class o и заводить там explicit operator и метод _(о)
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.