Описание тега proc-object
1
ответ
Ruby Proc: вызов метода из класса A из класса B и использование "метода" класса B
Я не уверен, возможно ли это на самом деле, но я нигде не смог найти четкого ответа. Также мне трудно определить мой вопрос просто "поисковыми терминами". Так что извините, если на это уже ответили где-то еще, я не смог найти его. Я хотел бы знать, …
03 ноя '10 в 02:27
3
ответа
Как распечатать Tcl Proc?
Учитывая простой процесс Tcl, как proc foo {a b} {puts "$a $b"} Какую команду tcl можно использовать для распечатки процедуры foo... то есть я хочу вернуть текст прока... Например: % proc foo {a b} {puts "$a $b"} % foo a b a b % puts $foo can't read…
15 янв '10 в 01:07
1
ответ
Есть ли "простые" объяснения того, что такое проки и лямбды в Ruby?
Есть ли "простые" объяснения того, что такое проки и лямбды в Ruby?
16 ноя '09 в 08:57
3
ответа
Почему оператор break в ruby ведет себя по-разному при использовании Proc.new v. Знак амперсанда?
Оператор break для блоков (согласно языку программирования Ruby) определяется следующим образом: он заставляет блок возвращаться к своему итератору, а итератор - к методу, который его вызвал. Поэтому, когда следующий код выполняется, он приводит к L…
17 янв '12 в 02:28
2
ответа
Что происходит с этой лямбдой? может кто-нибудь объяснить
proc_obj = -> proto { print proto; puts("World")} puts proc_obj["Hi"] puts proc_obj.call("Hello") #Is this is the same as above пожалуйста, направьте меня на какую-нибудь ссылку, чтобы демистифицировать это...
05 дек '11 в 19:53
2
ответа
tcl: завернуть процесс с тем же именем
Я хочу заменить определение "proc N" на proc с тем же именем и соглашениями о вызовах, но с небольшим дополнительным кодом обнаружения ошибок. В Python я мог делать то, что я хочу, как показано ниже, но я не понимаю, как пространства имен и функции …
24 май '11 в 17:57
5
ответов
Рубиновый блок, процы и instance_eval
Я недавно пытался сделать что-то похожее на это: a = "some string" b = Proc.new{ upcase } a.instance_eval b Который дает ошибку: Ошибка типа: не удается преобразовать Proc в строку но это работает: def b(&block) "some string".instance_eval &…
16 июн '11 в 13:24
4
ответа
Почему процы могут вызываться с === в ruby 1.9?
В этой статье упоминается 4 способа вызова процедур в ruby 1.9, и === является одним из них. Я не понимаю, почему это было бы сделано так вообще. Имеет ли он какое-либо отношение к нормальному значению === (спрашивая, являются ли два объекта одни…
12 мар '12 в 21:01
2
ответа
Зачем использовать методы вместо методов?
Я новичок в программировании, и Ruby - мой первый настоящий опыт. Я получаю блоки, но проки кажутся легким понятием метода / функции - зачем их использовать? Почему бы просто не использовать метод? Спасибо за вашу помощь.
18 мар '12 в 20:08
7
ответов
Как мне собрать лямбду (Proc) в Ruby?
Джо Ван Дайк спросил список рассылки Ruby: Привет, Я полагаю, что в Ruby вы не можете использовать лямбда / процессный объект, верно? Это возможно в lisp или других языках? Что я пытался сделать: l = lamda { ... } Bj.submit "/path/to/ruby/program", …
23 авг '08 в 04:22
1
ответ
Почему этот код выдает ноль после Proc.call?
C:\>irb irb(main):001:0> s = Proc.new { puts "Hello" } => #<Proc:0x04051780@(irb):1> irb(main):002:0> s.call Hello => nil Что вызывает ноль? ruby 1.8.6 (2008-08-11 patchlevel 287) [i386-mswin32]
16 сен '09 в 16:51
2
ответа
Динамические стили Proc скрепки, вызываемые до инициализации объекта
У меня есть следующие настройки скрепки. Что происходит, так это то, что я использую процедуру для установки размеров для различных стилей. Тем не менее, процесс вызывается по новому и во время супер-вызова. Я прошел через отладчик, и кажется, что о…
01 апр '11 в 04:26
2
ответа
Proc.new в Ruby: когда мне нужно его использовать?
Date_validator в своих примерах имеет комментарий: Using Proc.new prevents production cache issues Означает ли это, что везде в моем коде, где я использую методы, связанные с текущим временем (Time.now, 1.day.since(Time.zone.now) и т. Д.), Я должен…
19 июн '11 в 15:33
3
ответа
TCL - вернуть переменную против упвара и изменить
Хотел бы посоветоваться с профессионалами TCL для лучшей практики. Допустим, вы хотите создать список с конкретными данными, используя процедуру. Что лучше? proc processList { myList } { upvar $myList list_ #append necessary data into list_ } proc r…
24 июн '11 в 08:09
3
ответа
Как использовать переменную в качестве значения по умолчанию для аргумента процедуры TCL
У меня есть переменная, которую я хотел бы использовать в качестве значения по умолчанию для аргумента: proc log {message {output $::output}} { .... } Есть ли способ сделать это или мне нужно оценить переменную внутри моего процесса?
23 июн '11 в 09:53
4
ответа
Ruby - что это за выход
Я знаю, что этот код может быть не совсем правильным: def print_string(&str) puts str end print_string{"Abder-Rahman"} Но когда я запускаю его, вот что я получаю: #<Proc:0x03e25d98@r.rb:5> Что это за выход?
12 авг '11 в 17:22
1
ответ
Ссылка на локальную переменную из Proc, определенного в другой области видимости
Я хочу создать метод экземпляра, который изменяет свое поведение с возвращаемым значением другого метода в зависимости от реализации его перезаписи полиморфным способом. Например, следующий класс предполагается расширенным и pricing_rule должен меня…
03 май '11 в 13:27
4
ответа
Использование процедур с DSL Руби
Для удобства пользователя и более чистого кода я хотел бы написать класс, который можно использовать так: Encoder::Theora.encode do infile = "path/to/infile" outfile = "path/to/outfile" passes = 2 # ... more params end Теперь задача состоит в том, ч…
21 янв '11 в 08:06
3
ответа
Невозможно передать переменную в процедуру, используя upvar в Tcl
Мне нужна процедура, которая сможет получить доступ, прочитать и изменить переменную из пространства имен вызывающей стороны. Переменная называется _current_selection, Я пытался сделать это с помощью upvar несколькими разными способами, но ничего не…
21 окт '11 в 09:01
4
ответа
Как вы структурируете / сериализуете код Ruby?
Я хочу иметь возможность написать лямбда /Proc в своем коде Ruby, сериализовать его, чтобы я мог записать его на диск, а затем выполнить лямбда позже. Вроде как... x = 40 f = lambda { |y| x + y } save_for_later(f) Позже, в отдельном выпуске интерпре…
14 окт '08 в 00:44