Форум программистов, компьютерный форум, киберфорум
F# .NET
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.54/13: Рейтинг темы: голосов - 13, средняя оценка - 4.54
3 / 3 / 2
Регистрация: 02.08.2014
Сообщений: 60
1

Начало изучения F# в VS 2015

16.07.2016, 16:56. Показов 2518. Ответов 7
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Доброе время суток, помогите разобраться.

Начал знакомство с F#, установил в Visual Studio 2015 нужный пакет обновлений для F#, создал новый проект консольного приложения Виндовс, выдало следующий шаблон

F#
1
2
3
4
5
6
7
// Дополнительные сведения о F# см. на [url]http://fsharp.org[/url]
// Дополнительную справку см. в проекте "Учебник по F#".
 
[<EntryPoint>]
let main argv = 
    printfn "%A" argv
    0 // возвращение целочисленного кода выхода
Пытаюсь выполнять в VS примеры с учебника, да и сам пишу элементарные функции наподобие
F#
1
2
let func1 x = x * x
func1 5 |> System.Console.WriteLine
Подчеркивает аргумент функции x, мол он, почему то, является типом string (это когда я убирал стандартный предлагаемый VS шаблон, оставив лишь [<EntryPoint>])

А когда делал так:
F#
1
2
3
4
let main argv = 
    let func1 x = x * x
    func1 5 |> System.Console.WriteLine
    0 // возвращение целочисленного кода выхода
Ошибок не показывало, но в консоль не выводило ничего.


В чём проблема? И в какой среде лучше всего начать изучение F#?
1
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
16.07.2016, 16:56
Ответы с готовыми решениями:

Выбор книги для изучения C++ (C#) в Visual Studio 2015 (2013)
Добрый День! Хотел бы обратиться к Вам за помощью. Мне нужна книга для полного изучения языков...

Начало изучения С
Здравствуйте, полазив на форумах я понял что для начала изучения программирования лучше начать с С....

Начало изучения С++
Кого из авторов лучше выбрать для начала изучения С++: Шилдт, Страуструп, Дейтел? может быть...

Начало изучения
Решил начать изучать DirectX SDK (2010 June). Нужна доходчивая и актуальная лит-ра по его изучению....

7
Заблокирован
16.07.2016, 17:48 2
Цитата Сообщение от denis_32 Посмотреть сообщение
Пытаюсь выполнять в VS примеры с учебника, да и сам пишу элементарные функции наподобие
denis_32, вместо System.Console.WriteLine используйте printfn

Цитата Сообщение от denis_32 Посмотреть сообщение
Подчеркивает аргумент функции x, мол он, почему то, является типом string (это когда я убирал стандартный предлагаемый VS шаблон, оставив лишь [<EntryPoint>])
Должно работать:
https://dotnetfiddle.net/z4dqdx

Цитата Сообщение от denis_32 Посмотреть сообщение
И в какой среде лучше всего начать изучение F#?
VS отлично подходит. Можно обновиться до VS2015.
1
3 / 3 / 2
Регистрация: 02.08.2014
Сообщений: 60
16.07.2016, 22:00  [ТС] 3
Вот в том и дело, на .netfiddle код работает, все окей, а в VS 2015, я не могу этот код запустить.

Когда убираю шаблон, и оставляю просто пустые строки, и в них пишу
F#
1
2
let func1 x = x * x
func1 5 |> printfn
Аргументу функции "х" присваивается формат string, и даже когда я пишу

F#
1
let func1 x:int = x * x
Пишет ошибку, мол х всё-равно string.

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

F#
1
2
3
4
[<EntryPoint>]
let main argv = 
    printfn "%A" argv
    0 // возвращение целочисленного кода выхода
Мне мой код нужно вставлять в этот шаблон, данный VS2015 по умолчанию?
0
Заблокирован
16.07.2016, 22:38 4
Цитата Сообщение от denis_32 Посмотреть сообщение
Вот в том и дело, на .netfiddle код работает, все окей, а в VS 2015, я не могу этот код запустить.
denis_32, очень странно, какой у вас Update? VS2015 под рукой нет, потестировать не могу. Спрошу у знакомого...может что подскажет.
Скриншоты покажите, может они что-то прояснят?
Попробуйте еще запустить в F# Interactive - выделите строки кода и нажмите Alt + Enter.

Цитата Сообщение от denis_32 Посмотреть сообщение
Может быть это как то связано с тем, что я создал консольное приложение, или проблема в том, что я удалил
Нет и нет. Все должно работать нормально. Может баг в VS...
1
3 / 3 / 2
Регистрация: 02.08.2014
Сообщений: 60
16.07.2016, 22:48  [ТС] 5
Лучший ответ Сообщение было отмечено Ev_Hyper как решение

Решение

Разобрался)) Шаблон, который дал VS удалять ненужно было, т.к. компилятор считывал мою функцию стояющую после
Код
[<EntryPoint>]
как main, которая должна string значения в argv принимать
Правильный код был
F#
1
2
3
4
5
6
7
8
9
[<EntryPoint>]
 
 
let main argv = 
    let func1 x = x + 1
    (func1 5) |> printf "%d"
 
    System.Console.ReadKey() |> ignore
    0 // возвращение целочисленного кода выхода
Cпасибо за ответы))
1
Заблокирован
16.07.2016, 23:01 6
Лучший ответ Сообщение было отмечено denis_32 как решение

Решение

Цитата Сообщение от denis_32 Посмотреть сообщение
Шаблон, который дал VS удалять ненужно было, т.к. компилятор считывал мою функцию стояющую после
denis_32, вам нужно было просто удалить атрибут [<EntryPoint>]

Подробную информацию можно найти тут:
https://msdn.microsoft.com/en-... Bfsharp%5D

P.S. Поздравляю с выбором F#. Если вы еще и английским владеете, то присоединяйтесь к F# сообществу. Говорят, оно очень дружелюбно.
1
3 / 3 / 2
Регистрация: 02.08.2014
Сообщений: 60
16.07.2016, 23:25  [ТС] 7
Да, действительно, удалил энтрипоинт, и все работает без main argv, спасибо))

p.s. Куда ж без английского, если все видео-уроки и книги по фшарпу на англе)
0
Заблокирован
16.07.2016, 23:38 8
Цитата Сообщение от denis_32 Посмотреть сообщение
p.s. Куда ж без английского, если все видео-уроки и книги по фшарпу на англе)
denis_32, не все, есть две книги на русском. Одна переводная и очень хорошая.

К сожалению, ни в школе, ни дальше в институте английский не выучил. Сейчас вот в свободное время пытаюсь кое как по самоучителю...Оставлю лирику - раз проблем с языком нет, то можно смело регистрироваться на
http://foundation.fsharp.org/join
После этого вы должны получить инвайт для FSSF канала в Slack-е

https://get.slack.help/hc/en-u... sing-Slack
1
16.07.2016, 23:38
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
16.07.2016, 23:38
Помогаю со студенческими работами здесь

Начало изучения С++
Подскажите пожалуйста... С чего начать изучение С++(видео уроки, блоги и т.д.) Я уже взял...

Начало изучения 1с
Подскажите учебную литературу. С чего можно начать изучение 1с как языка. Чтоб стать востребованным...

Начало изучения
Приветствую, ребята! Совсем недавно начал изучение ASP Core. Нашел книгу &quot;ASP Core MVC с примерами...

Начало изучения
Подскажите с чего начать. Нашел серию статей на хабре по ASP.NET4, но старшие коллеги сказали...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru