встроенные команды ruby ​​для программиста TCL - PullRequest
1 голос
/ 28 февраля 2012

Я программист TCL и много работаю над цепочкой операторов и не знаю, как это можно сделать в ruby Например, если я хочу добавить текущее время к значению переменной

например в tcl:

set mylist [list a b c,d,e f]
set myelem_with_time "[lindex [split [lindex $mylist 2] ,] 0][clock seconds]"

>>c{with some time value}

Как этого добиться в ruby ​​без использования отдельных строк для каждой команды (конечно, это не метод класса объекта или оператор использования. Например, цепочка текущего времени или некоторая арифметическая операция и т. д.)

псевдокод:

myval = mylist[2].split(",")[0] + time()+60seconds;

(я хочу интерполировать время + 60 без вычисления в предыдущей строке)

Ответы [ 2 ]

1 голос
/ 28 февраля 2012
mylist = %w[a b c,d,e f]

myelem_with_time = mylist[2].split(',')[0] + (Time.now + 60).to_i.to_s
# or
myelem_with_time = "%s%d" % [mylist[2].split(',')[0], (Time.now + 60).to_i]
# or
myelem_with_time = "#{mylist[2].split(',')[0]}#{(Time.now + 60).to_i}"
0 голосов
/ 28 февраля 2012

Используя ваш список сверху и играя с вашей командой:

mylist[2].split(",")[0] + (Time.now + 60).to_s

Я получил:

e f2012-02-28 04:46:55 -0700

Это то, что вы ищете (я не убрал Дата из вывода, но это возможно)

...