juan_gandhi: (Default)
[personal profile] juan_gandhi
Welcome to Scala 2.12.8 (Java HotSpot(TM) 64-Bit Server VM, Java 1.8.0_92).
Type in expressions for evaluation. Or try :help.

scala> def f(x: Int) = 10 + x -> "ok"
f: (x: Int)(Int, String)

scala> f(10)
res0: (Int, String) = (20,ok)

scala> def g(x: Int) = 20 + x → "oops"
:11: error: overloaded method value + with alternatives:
  (x: Double)Double 
  (x: Float)Float 
  (x: Long)Long 
  (x: Int)Int 
  (x: Char)Int 
  (x: Short)Int 
  (x: Byte)Int 
  (x: String)String
 cannot be applied to ((Int, String))
       def g(x: Int) = 20 + x → "oops"
                          ^

Date: 2020-05-11 05:18 pm (UTC)
gonchar: (Default)
From: [personal profile] gonchar
Может, шаловливая рука вместо английской Икс начала выводить русское Ха? :)

Date: 2020-05-11 05:32 pm (UTC)
gegmopo4: (Default)
From: [personal profile] gegmopo4
А «->» и «→» идентичны в Скале?

Date: 2020-05-11 06:34 pm (UTC)
spamsink: (Default)
From: [personal profile] spamsink
Явно какая-то copy-paste error в таблице приоритетов.

Странно, что лексер не сводит немедленно -> и → в один токен, иначе как это объяснить?

Date: 2020-05-11 07:37 pm (UTC)
xacid: (Default)
From: [personal profile] xacid
def g(x: Int) = (20 + x) → "oops"

это просто ассоциативность немного хромает :)

а ваще вот что пишут

https://github.com/scala/scala/pull/7540

потомучто https://github.com/scala/bug/issues/11210

таки да, стрелочки всё ...
Edited Date: 2020-05-11 08:00 pm (UTC)

Date: 2020-05-11 08:36 pm (UTC)
archaicos: Шарж (Default)
From: [personal profile] archaicos
Зачем вообще туда напихали это всё унишкодное? Мечтатели.

Date: 2020-05-11 08:57 pm (UTC)
xacid: (Default)
From: [personal profile] xacid
дык! ...

Date: 2020-05-11 10:15 pm (UTC)
epimorphisms_split: (Default)
From: [personal profile] epimorphisms_split
Потому что фиксированный приоритет операторов, определяемый по первому символу — плохая идея. Очень, очень плохая. Фантастически неудачная.

Date: 2020-05-12 05:26 am (UTC)
xacid: (Default)
From: [personal profile] xacid
требовался лабораторный эксперимент :)

Date: 2020-05-12 05:48 am (UTC)
epimorphisms_split: (Default)
From: [personal profile] epimorphisms_split
Эксперимент уже вроде как был, с Фортраном. Тип переменной определялся по первой букве.

Date: 2020-05-12 06:17 am (UTC)
xacid: (Default)
From: [personal profile] xacid
строгий научный подход требует воспроизводимости результатов :)

Date: 2020-05-12 08:26 am (UTC)
gegmopo4: (Default)
From: [personal profile] gegmopo4
О, а это идея! Определять приоритет операторов по коду символов: % * + - /. А ещё глобальным переключателем можно менять порядок на обратный. Так и сделаю в своём следующем языке — муа-ха-ха!

Date: 2020-05-12 08:58 pm (UTC)
From: [personal profile] sassa_nf
> глобальным переключателем можно менять порядок на обратный

/: vs :\

Date: 2020-05-12 05:16 am (UTC)
xacid: (Default)
From: [personal profile] xacid
советуют все стрелочки поменять на ascii и просто включить лигатуры

Date: 2020-05-12 06:23 am (UTC)
xacid: (Default)
From: [personal profile] xacid
лигатуры включить можно сразу (если еще нет)
я вот почитал - включил и результатом очень доволен )

а стрелочки вроде scalafmt умеет заменять
правда это конечно в git blame может аукнуться если дело на службе

Date: 2020-05-12 04:58 pm (UTC)
xacid: (Default)
From: [personal profile] xacid
ну я про scalafmt тоже раньше както не думал особо много (ну то есть не знал потому что было пофиг)
но вобще это детище проекта scalameta https://scalameta.org/scalafmt/
а заморачиваться со scalafmt я пробовал потому-что идея дотти форматирует иногда очень странно
правда scalafmt вобще не работает пока с dotty (хотя и пытается - есть такой у нее диалект в ейном конфиге) но пока на тайплямбдах обламывается
а идея кстати уже вполне себе работает с доттей (если не считать безобразного форматирования - я им уже в спортлото написал но пока видимо разбираются в чем проблема или просто не руки ихние не доходят)

да, а вобще на scalafmt обратить внимание смысл есть - инструмент форматирует код в промышленных масштабах, и похоже что там настраивается вообще всё что имеет смысл, так что если есть время и желание можно на работе квадратно-гнездовой метод внедрять пробовать
Edited Date: 2020-05-12 05:00 pm (UTC)

Date: 2020-05-11 11:02 pm (UTC)
jurgen_svoloch: (Default)
From: [personal profile] jurgen_svoloch
Стрелочки?
Ну-ну…

Profile

juan_gandhi: (Default)
Juan-Carlos Gandhi

May 2025

S M T W T F S
    1 2 3
456 7 8 9 10
11 121314151617
18192021222324
25262728293031

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated May. 13th, 2025 06:39 pm
Powered by Dreamwidth Studios