Описание тега callbyname
2
ответа
Почему `def hello[T](f: => T) = f; hello(()=>12)`компилируется, но`def hello(f: => Int) = f; привет (() => 12) `нет?
Следующий код может быть скомпилирован: def hello[T](f: => T) = f hello(() => 12) Но следующий не: def hello(f: => Int) = f hello(() => 12) Который сообщает об ошибке: <console>:9: error: type mismatch; found : () => Int require…
24 авг '14 в 16:08
3
ответа
Динамически меняющиеся функции scala
Я изучаю Scala, и я наткнулся на следующий код. def whileLoop(cond: => Boolean)(body: => Unit): Unit = if (cond) { body whileLoop(cond)(body) } var i = 10 whileLoop (i > 0) { println(i) i -= 1 } Выходные числа от 10 до 1. Таким образом, и c…
28 май '15 в 21:08
1
ответ
Должен ли параметр callbyname быть заключен в фигурные скобки при вызове функции?
В курсе Coursera Functional Reactive Programming Week 3, лекция 4 Эрик Мейер реализует функцию повторения для Future, которая будет повторять вычисления заданное число раз. Он определяет block в качестве параметра call_by_name, поскольку Future долж…
06 окт '14 в 09:40
1
ответ
Звонок по имени против обычного порядка
Я знаю, что эта тема обсуждалась несколько раз, но кое-что мне все еще неясно. Я прочитал этот вопрос о различиях между аппликативным порядком / вызовом по значению и обычным порядком / вызовом по имени, и есть кое-что, что я хотел бы уточнить раз и…
06 июл '16 в 09:03
2
ответа
В Scala, когда будет подходящее время использовать лениво оцененный параметр, а не использовать функцию в качестве параметра?
def getStr(): String = { println("getStr is running") "str" } def lazyHello(para: => String) = { println("lazy hello is runing") println(para) } def notLazyHello(para: String) = { println("not lazy hello is runing") println(para) } def anoyHello(…
19 ноя '13 в 12:58
4
ответа
Класс случая Scala запрещает параметры вызова по имени?
Я хочу реализовать бесконечный список: abstract class MyList[+T] case object MyNil extends MyList[Nothing] case class MyNode[T](h:T,t: => MyList[T]) extends MyList[T] //error: `val' parameters may not be call-by-name проблема заключается в call-b…
05 ноя '14 в 04:10
0
ответов
Scala по имени в зависимости от параметров функции
Это именованный параметр: def foo(bar: => Boolean): Boolean = bar И это параметр функции: def foo(bar: () => Boolean): Boolean = bar() Чем отличаются две декларации? Оба будут оценены лениво и каждый раз, когда к параметру обращаются? Есть ли …
28 апр '16 в 13:42
1
ответ
Что не так с передачей меня в качестве параметра в функции CallbyName под vb6?
Я хочу передать исходную форму, из которой я использую функцию CallByName. Почему-то это не работает так, как я размещаю там. Private Sub Command1_Click() 'CallByName Form1, "TestFkt", VbMethod, Nothing, Command1 '<--- works CallByName Form1, "Te…
06 фев '14 в 15:51
1
ответ
Обработка параметров по имени в макросе Scala
У меня есть макрос, который выполняет анализ вложенных функций приложений. Он сопоставляет приложения и извлекает типы параметров следующим образом: case q"$f[..$targs](..$args)(...$otherArgs)" => // retrieve the list of all parameter types val p…
20 апр '15 в 20:18
1
ответ
Использование apply ("()") для функции, переданной в параметре by-name: оценка не является принудительной?
У меня есть функция: def nanoTime() = { println("Getting nano time...") System.nanoTime // returns nanoTime } и другая функция, которая принимает функцию def printTime(time: => Long) = { // indicates a by-name parameter println(">> delayed(…
20 янв '13 в 22:03
1
ответ
Каков результат и пример вызова этой функции с помощью "Вызова по имени" в Java или C++?
Я просто прошел тест для своего класса языков программирования и наткнулся на этот вопрос: Предполагая вызов по имени, каковы результаты следующего кода: public class MyClass { static int i = 1; static float f(int x, int i){ int s = 0; for(i = 0; i …
01 дек '17 в 22:38
2
ответа
Разница между вызовом по значению и переводчиком по имени для лямбда-исчисления
В другом вопросе Боб представил следующий интерпретатор для нетипизированного лямбда-исчисления. data Expr = Var String | Lam String Expr | App Expr Expr data Value a = V a | F (Value a -> Value a) interpret :: [(String, Value a)] -> Expr ->…
01 мар '15 в 04:40
1
ответ
callbyname работает с элементом массива как procname
У меня ужасная проблема. Я создал чудовищные классы со многими свойствами, среди которых есть и свойства массива. если я хотел бы сослаться на них с CALLBYNAME, это не будет работать, давайте посмотрим пример: public sub whatsoever() Dim alfaarray()…
10 май '16 в 20:41
2
ответа
Преобразование в кортеж с параметром по имени
Я хотел бы создать функцию со следующей подписью: def myFunction[T](functionWithName: (String, => T)): T так что я могу назвать это, например, так: val x = myFunction("abc" -> 4 * 3), Однако Tuple не принимает параметр by-name, поэтому подпись…
18 окт '17 в 15:56
1
ответ
Как смоделировать аргумент вызова по имени (например, getOrElse), используя ScalaMock?
Я хотел бы иметь возможность высмеивать возвращаемое значение getOrElse метод, так что он возвращает то, что передается как orElse аргумент вызова по имени с ScalaMock trait ToBeMocked { def getOrElse(arg: Int)(orElse: => String): String } ScalaM…
18 авг '13 в 01:18
1
ответ
VB6 CallByName горе
Я хочу сделать CallByName для некоторых сабвуферов, но я просто не могу заставить его работать. Все идет хорошо, пока исполнение не достигнет CallByNameтогда у меня проблемы: Всякий раз, когда я использую Meжалуется на ошибку компиляции И если я исп…
28 июн '10 в 14:58
1
ответ
Различия между "вызовом по имени" и Function0 в Scala
Каковы различия между f: => R а также f: () => R? Кажется, они работают одинаково, но их типы несовместимы друг с другом.
17 сен '18 в 19:55
1
ответ
Что бы это печаталось при вызове по имени и по запросу?
У меня есть эта строка кода на игрушечном языке. print-функция принимает список аргументов и печатает их. print(a, (a := 5, a)) Будет ли разница в выводе, если я использую call-by-value или call-by-name? Если так, то какими будут результаты. Можно п…
09 сен '16 в 12:46
1
ответ
Синтаксис CallByName Outlook VBA
Я пишу код в MS Outlook для обработки входящих писем. Мой код содержит длинную условную инструкцию, чтобы определить категорию, к которой относится каждое входящее письмо. Затем, основываясь на результате этого условного оператора, предполагается, ч…
06 дек '14 в 12:59
1
ответ
Макро-вариант неявного класса, который допускает аргумент по имени
Для DSL я хочу представить dup метод расширения, который в основном вызывает Vector.fillнапример, import scala.collection.immutable.{IndexedSeq => Vec} implicit final class Dup[A](private val in: A) extends AnyVal { def dup(n: Int): Vec[A] = Vect…
07 сен '15 в 15:26