Поиск:

Ответ в темуСоздание новой темы Создание опроса
> #light - синтаксис в F# 
:(
    Опции темы
Vezd
Дата 7.7.2013, 12:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 29
Регистрация: 5.6.2011

Репутация: нет
Всего: нет



В книге "Программироване на F#" Сошникова Д.В. есть пример:
Код

> let solve (a,b,c) =
   let D = b*b-4.*a*c in
    ((-b+sqrt(D))/(2.*a),(-b-sqrt(D))/(2.*a))
 in solve (1.0,2.0,-3.0);;
val it : float * float = (1.0, -3.0)

В 5 строчке получили числовой результат. Далее в книге предлагается применить #light - синтаксис, и приведен следующий пример:
Код

> let solve (a,b,c) =
   let D = b*b-4.*a*c
   ((-b+sqrt(D))/(2.*a),(-b-sqrt(D))/(2.*a));
solve (1.0,2.0,-3.0);;
 
val solve : float * float * float -> float * floa

В 6 строке почему то уже такого же результата числового не получаем. В чем ошибка? (VS 2010, F# 2.0 Interactive, сборка 4.0.30319.1)

Приложил файл с кодом, идущий вместе с книгой. Там есть эти примеры.

Если в F# Interactive поставить дополнительный пробел  в первой строчке кода ("let solve (a,b,c) ="), тогда получается числовой результат:
Код

>  let solve (a,b,c) =
   let D = b*b-4.*a*c
   ((-b+sqrt(D))/(2.*a),(-b-sqrt(D))/(2.*a));
solve (1.0,2.0,-3.0);;
val it : float * float = (1.0, -3.0)

Но как это написать правильно в .fs, чтобы при нажатии Alt-Enter происходило выполнение с числовым результатом я не понял.

Разобрался. Надо в .fs тоже поставить пробел в первой строчке и выделяет его тоже перед нажатием Alt-Enter.
Код

 let solve (a,b,c) =
   let D = b*b-4.*a*c
   ((-b+sqrt(D))/(2.*a),(-b-sqrt(D))/(2.*a));
solve (1.0,2.0,-3.0);;

И еще вопрос: надо ли ставить точку с запятой в конце 3 строки? Результат один и тот же с и без точки c запятой.

Это сообщение отредактировал(а) Vezd - 7.7.2013, 14:13

Присоединённый файл ( Кол-во скачиваний: 0 )
Присоединённый файл  Chapter1.rar 2,21 Kb
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума «Функциональные языки: общие вопросы»
Void
  • Пожалуйста, создавайте темы с содержательными названиями. Если у Вас вопрос по конкретному языку, укажите его в заголовке, например: «[Haskell] Как использовать монаду State».
  • Уважаемые учащиеся, здесь всегда рады помочь Вам, но не делать за Вас вашу работу. У вас гораздо больше шансов получить помощь, если Вы приложите усилия и поделитесь с нами проблемами и результатами. В противном случае добро пожаловать в раздел Центр Помощи.
  • Получив ответ на интересующий Вас вопрос, не забудьте пометить его как решённый.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Void.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Функциональные языки: общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0921 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.