LINUX.ORG.RU
ФорумTalks

Как перевести «let» ?

 


0

1

Есть такой оператор во всяких растах, окамлах и пр. Я его не понимаю, в том смысле, что не понятно, кому я должен «давать» переменную после присвоения ей значения.

Тем более, что никто её на самом деле никуда не отдаёт, начиная со следующей строчки она становится обычной константой.

★★★★★

Если серьезно, то «положим»? В смысле полагать-предполагать. Как условие теоремы, скажем

Midael ★★★★★
()

Let X = 10

Пусть Х = 10

Можно провести аналогию с математикой, где часто встречается «допустим, Х = 10», «пусть Х = 10» и т. д. В англоязычной литературе в этом случае используют let. В программировании смысл тот же, что и в математике по сути - присваивание значения переменной.

KivApple ★★★★★
()
Последнее исправление: KivApple (всего исправлений: 2)
Ответ на: комментарий от Midael

в математике переменные не всегда константы, например

let, x = y +1

tl;dr

x = 15

next_time ★★★★★
() автор топика
Последнее исправление: next_time (всего исправлений: 1)
Ответ на: комментарий от next_time

Я не понял как это мешает. В математике популярно не переприсваивать переменные, в программировании их чаще меняют. Это ок, что термины немного меняются при миграции из одной сферы в другую. Но я убеждён, что let в программировании пришло из математики.

KivApple ★★★★★
()
Ответ на: комментарий от next_time

Не во всех языках let даёт константность. Например, в том же JS наоборот это признак мутабельности (константность даёт const). А вот в математике, кстати, не популярно присваивать переменную больше одного раза. Обычно заводят новые. Так что это почти что константа.

То есть главный смысл это именно присваивание. А константное или нет же зависит от сферы.

KivApple ★★★★★
()
Последнее исправление: KivApple (всего исправлений: 2)
Ответ на: комментарий от next_time

«Пусть Х равно 10» корректная с точки зрения русского языка фраза, а для тех, кто в школе не прогуливал математику - ещё и привычная и интуитивно понятная.

А «Не трогать Х равно 10» криво с точки зрения русского языка и никому не знакомо.

Лучше уж тогда «Константа Х равно 10», так корректнее и понятнее, хотя тоже непривычно. Но не во всех языках let не даёт менять переменную. К тому же настолько это важно?

KivApple ★★★★★
()
Последнее исправление: KivApple (всего исправлений: 4)
Ответ на: комментарий от KivApple

А «Не трогать Х равно 10» криво с точки зрения русского языка и никому не знакомо.

«Нехай Х равно 10» – иммутабельный вариант: одно из значений нехай – не трогать.

«Пущай Х равно 10» – мутабельный вариант.

quickquest ★★★★★
()

А на Эльбрусах будет кодировка где в первых 128 символах кириллица?

TooPar
()

Представь себе мемчик с микки маусом, который говорит «а давай...». Так вот это и есть смысл твоего ЛЕТа. Причем смысл легко применяемый как для математики, так и в жизни (ага, математики не писали на каком-то космическом языке, они просто писали по-английски и коротко).

В некоторых ЯП ему присваивают какое-то особое синтаксическое значение, но, как правило, вне академических упражнений никакого смысла дополнительного все равно нет, кроме того который воплощает мемчик с микки.

Jetty ★★★★★
()
Ответ на: комментарий от next_time

как насчёт перевода как «не трогать» ?

И рядом не лежал. «Let» означает «позволить». «Пускай» или «пусть» — ближайший аналог, распространённый в речи математиков. Вряд ли найдёшь что-то лучше.

question4 ★★★★★
()
Ответ на: комментарий от pon4ik

Я для себя не перевожу никак. Кейворды — это практически пунктуация, о них даже думать особо незачем.

Miguel ★★★★★
()

«Перевод» - явление довольно редкое. В основном имеет место «пересказ». В техническом жаргоне «let» = «пусть», как выше уже написали.

Но наглицкий язык порой довольно забавен. Есть такие слова как inlet и outlet (тоже производные от «пусть»).

utanho ★★★★★
()
Ответ на: комментарий от question4

Пускай - это скорее предположение. У математиков это нормал практик. Но у погромистов let несет более определенный смысл. Фактически присваивание значения переменной.

Хотя о чём это я. Я же простой охранник из пятерочки.

utanho ★★★★★
()
Последнее исправление: utanho (всего исправлений: 1)
Ответ на: комментарий от KivApple

Раз уж такая песня пошла, то имело бы смысл использовать префиксный пусть в комбинации с инфикснымибудет и всегда вместо =. Немного похоже на let и let mut, но наоборот:

пусть х будет 10;
пусть у всегда 20; // константа

Причём, будет и всегда также можно было бы сочетать с постфиксным где.

Princesska ★★★★
()
Ответ на: комментарий от next_time

как насчёт перевода как «не трогать»

Поехавший что ли? Let всегда было «пусть». Если нужно подчеркнуть константность, добавь «пусть константа», ну или вместо «равно» используй «всегда».

no-such-file ★★★★★
()

Во имя…

Да пребудет…

Отныне…

Во веки веков…

chenbr0
()
Ответ на: комментарий от KivApple

«Пусть Х равно 10» корректная с точки зрения русского языка фраза, а для тех, кто в школе не прогуливал математику - ещё и привычная и интуитивно понятная.

вообще-то, у тех, кто в школе действительно не прогуливал математику, от этой фразы глаза кровоточат - потому, что в математике эта фраза подразумевает решение задачи, а не её условие

next_time ★★★★★
() автор топика
Ответ на: комментарий от next_time

Найди хоть одну этимологию, не сводящуюся к средневековому английскому «leten» — «разрешить, позволить, дать, пустить, отпустить».

P.S. Встречавшееся в советских учебниках информатики утверждение, что «let» — сокращение от «letter», неверно.

question4 ★★★★★
()
Последнее исправление: question4 (всего исправлений: 1)
Ответ на: комментарий от next_time

Почему в программировании ты не считаешь её частью решения?

question4 ★★★★★
()
Последнее исправление: question4 (всего исправлений: 1)

Ты в школе учился? Когда решал задачи по физике или математике, помнишь первое слово, начиная с которого ты выписывал условия? «Дано».

hateyoufeel ★★★★★
()
Ответ на: комментарий от Princesska

«Будет» это оператор или ключевое слово определяющее поведение во времени?
Когда X начнёт быть 10 в таком случае?

system-root ★★★★★
()
Ответ на: комментарий от grem

«быть по сему»

Имеет_место_быть Х = 10 // у меня «длиньше» :)

quickquest ★★★★★
()

let не делает присвоение. let дает имя, алиас. Как typedef в си.

let x = 10; означает «Пусть, вот в этом вот контексте, 10 называется x». У 10 теперь есть еще одно имя, кроме, 10.

vlad9486
()
Ответ на: комментарий от next_time

Так компьютерная программа является решением поставленной задачи. А условие оно вообще не в виде кода обычно, а в виде ТЗ.

KivApple ★★★★★
()
Последнее исправление: KivApple (всего исправлений: 1)
Ответ на: комментарий от DoctorSinus

т.е. автор пишущий сию строку сам не уверен в значении своей переменной?

deep-purple ★★★★★
()
Ответ на: комментарий от deep-purple

let это типа define, но короче и общепринято в математике. let делает не константу, а неизменяемую переменную. Значение константы известно во время компиляции, а значение переменной неизвестно, даже если она неизменяемая.

vlad9486
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.