The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Индекс форумов
Составление сообщения

Исходное сообщение
"Критическая уязвимость в сервисе Librem One, выявленная в де..."
Отправлено Аноним84701, 03-Май-19 13:03 
>> Используется оно еще со времен Пролога, SML, в реляционной алгебре/калькуляции, Haskell, Scala, OCaml, ржавчине.
> О того, что какая-то форма записи используется давно, она не становится автоматически  более удачной.

Для паттерматчинга в этих ЯП она достаточно удачна:
foo(x,y,_,_) и foo(x,y,unused,unused) в декларативной сематнике очерь разные выражения.
А вот размытые определения "(не)интуитивно" обычно просто "синдром утенка"

> А, скажем, в go

a = foo()
эквивалентно
a, _ = foo()

> С фига ли в питоне не так?

Во-первых:
с фига ли вообще в более старом ЯП с дин. типизацией "должно" копироваться поведение более нового, cо статистической?

Во-вторых:
> эквивалентно


package main
import "fmt"
func foo()(int,int) { return 1,2 }
func main() {
    y,_ := foo()
    z := foo()
    fmt.Println("y:",y,"z:",z)
}
prog.go:8:4: assignment mismatch: 1 variable but foo returns 2 values

https://golang.org/doc/effective_go.html#blank
> If an assignment requires multiple values on the left side, but one of the values will not be used by the program, a blank identifier on the left-hand-side of the assignment avoids the need to create a dummy variable and makes it clear that the value is to be discarded.

...
> If you only need the second item in the range (the value), use the blank identifier, an underscore, to discard the first:


sum := 0
for _, value := range array {
    sum += value
}

яснопонятно 🙄
 

Ваше сообщение
Имя*:
EMail:
Для отправки ответов на email укажите знак ! перед адресом, например, !user@host.ru (!! - не показывать email).
Более тонкая настройка отправки ответов производится в профиле зарегистрированного участника форума.
Заголовок*:
Сообщение*:
  Введите код, изображенный на картинке: КОД
 
При общении не допускается: неуважительное отношение к собеседнику, хамство, унизительное обращение, ненормативная лексика, переход на личности, агрессивное поведение, обесценивание собеседника, провоцирование флейма голословными и заведомо ложными заявлениями. Не отвечайте на сообщения, явно нарушающие правила - удаляются не только сами нарушения, но и все ответы на них. Лог модерирования.



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру