How to create a matrix tensor efficiently whereby each row is a range of values [x1, y1]?

For example, I have a list of ranges := [[1,3],[3,5],[4,6]]. The matrix to be created is
[[1 2 3],
[3,4,5],
[4,5,6]]

Note that each range is guaranteed to be of the same number of elements.

Of course, this can be done using a for loop but that would take very long if the dimension of the matrix is very large.