библиотека Math

Модераторы: Hawk, Romeo, Absurd, DeeJayC, WinMain

BattleMage
Сообщения: 25
Зарегистрирован: 28 апр 2009, 15:15

как её подключить?
думал, что как-нить

Код: Выделить всё

using System.Math;
, а чёт никак...

как воспользоваться модулем (математическим) от переменной?

и если есть подробная справочка на список всех функций - скиньте. чёт msdn не особо мне помог...
Newbie
Сообщения: 148
Зарегистрирован: 06 сен 2009, 19:45

ппц... слов нет...

Math - статический класс содержащий статические функции находящийся в пространстве имен System.
С помощью using ты подключаешь пространства имен.

Возьми рефлектор и увидешь
public static class Math
{
...
[MethodImpl(MethodImplOptions.InternalCall)]
public static extern double Cos(double d);
...
}

т.е. соотвественно чтобы юзать класс Math надо написать
using System;

и дальше юзать например
Math.Cos(0); или Math::Cos(0) (в зависимости от того что юзаешь)
atavin-ta
Сообщения: 585
Зарегистрирован: 30 янв 2009, 06:38

Newbie писал(а):ппц... слов нет...

Math - статический класс содержащий статические функции находящийся в пространстве имен System.
С помощью using ты подключаешь пространства имен.

Возьми рефлектор и увидешь
public static class Math
{
...
[MethodImpl(MethodImplOptions.InternalCall)]
public static extern double Cos(double d);
...
}

т.е. соотвественно чтобы юзать класс Math надо написать
using System;

и дальше юзать например
Math.Cos(0); или Math::Cos(0) (в зависимости от того что юзаешь)
Math - это вообше файл. Поэтому

Код: Выделить всё

#include <math.h>
или

Код: Выделить всё

#include <math.hpp>
файлов таких два, они различаются расширением и содержанием. то есть в них н совсем одно и то же. Поэтому попробуй оба варианта и выбери. а

Код: Выделить всё

 
uses math;
это паскаль. Ты уж определись, сионист ты или пасквилянт.
Вопрос: "Почему вы все сионисты? Нельзя ли писать на чём то другом?".
Ответ: "Писать можно на чём угодно. Но зачем же так себя ограничивать? Пиши на С!".
Аватара пользователя
Romeo
Сообщения: 3126
Зарегистрирован: 02 мар 2004, 17:25
Откуда: Крым, Севастополь
Контактная информация:

atavin-ta, вообще тут люди говорят о .NET. Разве этого не понятно по кускам кода, которые приводится?
Entites should not be multiplied beyond necessity @ William Occam
---
Для выделения С++ кода используйте конструкцию [ code=cpp ] Код [ /code ] (без пробелов)
---
Сообщение "Спасибо" малоинформативно. Благодарность правильнее высказать, воспользовавшись кнопкой "Reputation" в виде звёздочки, расположенной в левом нижнем углу рамки сообщения.
atavin-ta
Сообщения: 585
Зарегистрирован: 30 янв 2009, 06:38

Romeo писал(а):atavin-ta, вообще тут люди говорят о .NET. Разве этого не понятно по кускам кода, которые приводится?
Именно по коду ясно, что это паскаль. Учти, какую задачу он пытается решить. В c, в том числе нетном, оператор uses имет другое значение, чем то, что имел ввиду автор темы, когда писал строку. Он и перепутал языки, а вовсе не я. Он написал строку на паскале и пытался сунуть её в с, в результате компилятор его просто не понял и ничего не получилось. Я хотябы на нужный язык перевёл, а диалектов у него много.
Вопрос: "Почему вы все сионисты? Нельзя ли писать на чём то другом?".
Ответ: "Писать можно на чём угодно. Но зачем же так себя ограничивать? Пиши на С!".
Newbie
Сообщения: 148
Зарегистрирован: 06 сен 2009, 19:45

atavin-ta писал(а):Именно по коду ясно, что это паскаль. Учти, какую задачу он пытается решить. В c, в том числе нетном, оператор uses имет другое значение, чем то, что имел ввиду автор темы, когда писал строку. Он и перепутал языки, а вовсе не я. Он написал строку на паскале и пытался сунуть её в с, в результате компилятор его просто не понял и ничего не получилось. Я хотябы на нужный язык перевёл, а диалектов у него много.
не выпедривайся,
1. для начала посмотри первый пост, где ты видишь uses?
Там ясно написано using(!)
2. Прочитай название ветки.
3. В паскале\делфи(не нетовском) есть немспейсы?

не зачет, однако))))

Озвчьте нам(неучим :( ) пожалуйста для чего в с++.net\c# используется uses? :) Ибо его вообще нету...
atavin-ta
Сообщения: 585
Зарегистрирован: 30 янв 2009, 06:38

Действительно using. Но лично у меня бывают опечатки такрого типа:
в одном языке, который я знаю, есть похожий по значению или по написанию оператор или стандартная подпрограмма, на другом языке я в данный момент пишу и набираю оператор или стандарную подпрограмму перваого языка, но в значении второго. Именно using я не исспользую, вместо этого пишу каждый раз Graphics::TBitmap, но в случае этого оператора это моглы бы выглядеть так: в паскале есть оператор uses со значением "подключить файл", а в c++е - оператор using в значении "подключить пространсво имён", пишем uses <NameSapase>; в значении "подключить пространство имён" и пытаемся скормить c++ компилятору. Чаще всего я путаю ClsScr (паскаль) с Clr (бейсик, значение идентично) , sqr (паскль, квадрат) с sqr (бесик, квадратный корень), arctan (паскль, арктангенс) с atan (бейсик, арктангенс) или даже repeat until (паскаль, цикл с обратным пост условием) c do while (с++, цикл с прямым пост условием). Поэтому и не обратил внимания на различие в написании самого оператора. Но автор темы пытался подключить не System, а именно Math. Math, который подклчается - это файл. А подключение файла usese (похож на using) - это паскаль. Если же Math - это некоторое имя в пространстве имён, то как вообще можно подключить Math? В таком случае подключая System, или пиши System::Math.Cos(x);. Название ветки говорит о с++е. Значит правильным будет всётаки код для с++а. Но где ты в названии ветки увидел .net? Как вариант, может быть и .net (ни тебе, ни всем остальным не должно возбраняться говорить о нете). Может быть даже в данном случае нет. Но почему бы в какой-то теме и не Micriosoft visual studio или не Borland visual c++ enterprize, не c#, или не просто c? Кто запретит такие варианты? И раз уж пошла такая неопределённость, то я и предложил строки, которые одинаково хорошо подключают математику в Micriosoft visual studio и в Borland visual c++ enterprize (оба c++). Если кому-то импенно для нета не подходит, я разве виноват? Наверное, в тех случаях, когда разные с++ы ведут себя по-разному, следует авторам вопрос конкретезировать c++ явно где нибудь в теме, возможно, в ответ на специальный вопрос желающего ответить, но сомневающегося в том, для какого именно c++а это надо. Я например, уже один раз получилд ответ по Micriosoft visual studio на вопрос по Borland visual c++ enterprize, после чего и указал, какой c++ мне нужен. Если же путаница была не в языках, а всё-таки в понятиях (пространство имён, которое можно и не подключать и класс в этом пространстве), тогда да. Я толком не знаю, достаточно ли в этом самом нете

Код: Выделить всё

using.System;
, или надо, например,

Код: Выделить всё

#include <System.hpp>
using.System;
?
Не подскажешь для общего развития? То есть входит ли само пространство имён System в файл, подключаемый по дефолту или подключение которого обязательно для любого win-проекта, или надо сначало подключать файл, а потом пространство имён?
Вопрос: "Почему вы все сионисты? Нельзя ли писать на чём то другом?".
Ответ: "Писать можно на чём угодно. Но зачем же так себя ограничивать? Пиши на С!".
Аватара пользователя
Romeo
Сообщения: 3126
Зарегистрирован: 02 мар 2004, 17:25
Откуда: Крым, Севастополь
Контактная информация:

В .NET нету понятия #include. Там все системные файлы и файлы сборки видны из любого другого файла данной сборки без дополнительного синтаксического уточнения.

Функциональность оператора using сужена по сравнению с С++. В .NET он используется только для включения в дефолтный неймспейс указанного неймспейса.
Entites should not be multiplied beyond necessity @ William Occam
---
Для выделения С++ кода используйте конструкцию [ code=cpp ] Код [ /code ] (без пробелов)
---
Сообщение "Спасибо" малоинформативно. Благодарность правильнее высказать, воспользовавшись кнопкой "Reputation" в виде звёздочки, расположенной в левом нижнем углу рамки сообщения.
Newbie
Сообщения: 148
Зарегистрирован: 06 сен 2009, 19:45

Romeo, ты не прав на счет "только включения немспейсов"
MSDN:
Блок Using можно использовать, чтобы гарантировать, что система удаляет ресурс, когда ваш код выходит из блока. Это полезно при использовании ресурса системы, который занимает большой объем памяти, или который хотят использовать другие компоненты.

Очень удобно при работе с файлами. Например,
using (File.Open(path, FileMode.Open, FileAccess.ReadWrite, FileShare.None))
{
....
}
тут файл гарантированно закроется сам.
Аватара пользователя
Romeo
Сообщения: 3126
Зарегистрирован: 02 мар 2004, 17:25
Откуда: Крым, Севастополь
Контактная информация:

Это второе использование using. Как видишь, с неймспейсами оно не работает вовсе. Более того, его не было в первоначальной спецификации .NET. Такой синтаксис появился только начиная с .NET framefork 2.0, если мне не изменяет память.

Вообще .NET не моя специализация, поэтому если я здесь ошибусь, то мне не будет даже стыдно.
Entites should not be multiplied beyond necessity @ William Occam
---
Для выделения С++ кода используйте конструкцию [ code=cpp ] Код [ /code ] (без пробелов)
---
Сообщение "Спасибо" малоинформативно. Благодарность правильнее высказать, воспользовавшись кнопкой "Reputation" в виде звёздочки, расположенной в левом нижнем углу рамки сообщения.
Ответить