Описание тега function-literal

1 ответ

Скала функция буквальная путаница

Я провел модульный тест для изучения буквенного формата функции Scala и нашел его довольно запутанным. Не могли бы вы помочь мне понять значение другого синтаксиса? @Test def supplierLiteral: Unit = { object Taker { def takeFunctionLiteral(supplier:…
12 окт '16 в 12:58
1 ответ

Как я могу передать литерал функции extern(C)?

Скажи, что я взаимодействую с C. Вот функция обёртывания интерфейса. @property extern(C) void onEvent(void function(InterfaceStruct*, int, int, int) nothrow callback) { interfaceSetCallback(handle, callback); } Все хорошо. wrapper.onEvent = function…
03 апр '16 в 09:48
1 ответ

Параметр литерального класса по умолчанию с параметризованным типом функции

Это предполагаемое поведение или это ошибка? Рассмотрим следующую черту (будь то класс, не имеет значения): trait P[T] { class Inner(val f: T => Unit = _ => println("nope")) } Это то, что я ожидал: scala> val p = new P[Int] { | val inner = …
2 ответа

Scala Карринг и функциональные литералы

Я читал руководство по неофитам к scala-part-10, где наткнулся на следующий код. type EmailFilter = Email => Boolean val minimumSize: Int => EmailFilter = n => email => email.text.size >= n Я понял первую строку, в которой псевдоним т…
17 май '18 в 13:52
2 ответа

Класс Scala, обертывающий частично примененный конструктор - как использовать его для создания методов API?

Я пытаюсь создать простой API для работы с интервалами часов. (Я знаю о времени йода, и я не пытаюсь его изобрести заново. Это скорее упражнение). То, что я хотел бы достичь, это: (1) assert(from("20:30").to("20:50") == Interval("20:30", "20:50") ) …
0 ответов

Ошибка типа при связывании карты с toSet и использовании функционального литерала с подчеркиванием

Передача литерала функции с подчеркиванием в качестве аргумента для сопоставления, связанного с toSet, в другой коллекции (например, List) приводит к ошибке типа: scala> List(1, 2, 3).toSet map (_.toString) <console>:12: error: missing para…
1 ответ

Использование символов подчеркивания в Scala для упрощения синтаксиса функциональных литералов

У меня есть следующий код: var x = Array(1,3,4,4,1,1,3) var m = Int.MaxValue x.foreach((x)=>(m = m min x)) Я попытался упростить последнее предложение до: x.foreach((m = _ min m)) Но переводчик говорит: scala> x.foreach((m = _ min m)) <cons…
16 ответов

Какие языки поддерживают * рекурсивные * функциональные литералы / анонимные функции?

Кажется, в наши дни довольно много основных языков поддерживают функциональные литералы. Их также называют анонимными функциями, но мне все равно, есть ли у них имя. Важно то, что литерал функции - это выражение, которое дает функцию, которая еще не…
4 ответа

`return` в литерале функции scala

Я пытаюсь сделать что-то вроде этого: var fun : (Int,Int) => Double = (a,b) => { // do something return 1.0 } Тем не менее, мои жалобы IDE с Return statement outside method definition, Итак, как мне явно дать оператор return в литерале функции…
2 ответа

Функциональные литералы Scala и синтаксис заполнителей в заархивированных коллекциях

Я в настоящее время изучаю Scala и боролся с использованием синтаксиса заполнителя на zipколлекции пед. Например, я хочу отфильтровать заархивированный массив из элементов, где l2[i] >= l1[i]. Как я могу сделать это, используя явный литерал функции …
1 ответ

Получение "пропущенного типа параметра" при использовании подчеркивания для входного параметра в функциональном литерале

У меня есть trait с общими параметрами, который содержит метод, в котором я пытаюсь определить реализацию по умолчанию как "пустую". trait MetaBase[T <: Throwable] { ... def riskWithEvent[V]( vToEvaluate: => V, failureTEvent: FailureBase[T, V]…
21 сен '16 в 16:56
1 ответ

Функция Литеральная ссылка на val и def

Я пытаюсь понять принципиальную разницу между этими двумя подходами ссылки / определения Function Literal (ссылка на anonymous function): От val scala> val v2 = new Function[Int, Int] { | def apply(a: Int): Int = a + 1 | } v2: Int => Int = &lt…
03 мар '14 в 01:48
2 ответа

Обнаружена ошибка компиляции Scala: требуется Int: Int => Int

Я новичок в скале. Я не понимаю ошибку компиляции для приведенного ниже кода: def delayed( t:(Int)=> Int):Unit={ println("In delayed method") var y=t; println(y) } def time(x:Int):Int={ x*2 } и когда я звоню delayed(time(8)) Я получаю следующую о…
19 окт '16 в 07:35
1 ответ

Функции и функциональные литералы в scala

Я новичок в Скале. Пожалуйста, расскажите разницу между def fun( t: Int => Int):Unit = { а также def fun(t: =>Int):Unit { а также def fun(t:=>Int):Unit { (without space b/w ":" and "=>"))
19 окт '16 в 14:31
3 ответа

Типы аргументов анонимной функции должны быть полностью известны. (SLS 8.5)

У меня есть функция буквальная {case QualifiedType(preds, ty) => t.ty = ty ; Some((emptyEqualityConstraintSet,preds)) } Что приводит к сообщению об ошибке missing parameter type for expanded function The argument types of an anonymous function mu…
3 ответа

JavaScript Литеральный метод объекта: рекурсивный вызов

Можно ли рекурсивно вызывать метод из литерала объекта? Например: (function () { 'use strict'; var abc = ['A', 'B', 'C'], obj = { f: function () { if (abc.length) { abc.shift(); f(); // Recursive call } } }; obj.f(); }()); Ошибка: "f" использовалось…
6 ответов

Точное значение литерала функции в JavaScript

В JavaScript есть как литералы объекта, так и литералы функций. Объектный литерал: myObject = {myprop:"myValue"} Функциональный литерал: myFunction = function() { alert("hello world"); } Каково значение слова буквальный? Можно ли сказать, что у Java…
07 сен '12 в 08:58
1 ответ

Разница между функциями и функциональными литералами в ActionScript 3?

В чем разница между следующими двумя определениями функций в ActionScript 3? f = function(arg) { // body } а также function f(arg) { // body }
12 июл '11 в 22:15
1 ответ

Как определить, был ли объект создан с использованием литерала объекта или вызова конструктора объекта?

В частности, как бы вы определили, был ли определенный объект создан с использованием литерала или нет? var s1 = new String(); var s2 = ""; // Literal var o1 = new Object(); var o2 = {}; // Literal var f1 = new Function(); var f2 = function(){}; // …
2 ответа

Именованные функции в Javascript доступны до объявления, но функциональные литералы не являются

Я пытаюсь понять, как это работает. Когда я ссылаюсь на именованную функцию Javascript, которая еще не была объявлена, в некоторых случаях она работает. Но если я использую литерал функции, это не так, но и с ошибкой ReferenceError, function works()…
11 май '15 в 16:16