Дублируйте число с плавающей запятой с помощью Ruby в Sketchup - PullRequest
0 голосов
/ 30 октября 2019

Возможно ли дублировать массив чисел с плавающей точкой в ​​качестве переменной для новой переменной в ruby ​​с sketchup ? Я пробовал и .clone, и .dup, но безуспешно (см. Ниже).

a = [1.1,2.2,3.3]
b = [a.dup,a.dup,a.dup] #Returns "TypeError: can't dup Float"
b = [a.clone,a.clone,a.clone] #Returns "TypeError: can't clone Float"

Любые другие способы дублирования массивной переменной, содержащей числа с плавающей точкой в ​​ ruby, с sketchup ?

РЕДАКТИРОВАТЬ: Это то, что я пытаюсь сделать:

a = [1.1,2.2,3.3]
x = [4.4,5.5,6.6]
b = [a,x]
b[0][1] += 1.1
b[1][1] += 1.1

, чтобы a == [1.1,2.2,3.3], x == [4.4,5.5,6.6] и b == [[1.1,3.3,3.3],[4.4,6.6,6.6]]

Теперь я понимаю, что оба .cloneи .dup работают в самом Ruby (спасибо Амадану и Сами Кухмонену)

1 Ответ

0 голосов
/ 30 октября 2019

Я не вижу, как ваш обновленный вопрос связан с оригинальным, но вот два способа сделать то, что вы хотели:

b = [a.dup, b.dup]
b[0][1] += 1.1
b[1][1] += 1.1

или

b.map! { |r| r.dup.tap { |r2| r2[1] += 1.1 } }
...