@@ -37,7 +37,7 @@ def create_user(data: Hash<Symbol, String | Integer | Boolean>): Integer
3737end
3838
3939# Hard to understand what this represents
40- users: Array< Hash<Symbol, String | Integer | Boolean>> = []
40+ users: Hash<Symbol, String | Integer | Boolean>[] = []
4141```
4242
4343### With Type Aliases
@@ -60,7 +60,7 @@ def create_user(data: UserData): Integer
6060end
6161
6262# Clear what this represents
63- users: Array< UserData> = []
63+ users: UserData[] = []
6464```
6565
6666## Basic Type Aliases
@@ -261,10 +261,10 @@ type Quantity = Integer
261261
262262type Product = Hash<Symbol, ProductId | String | Price>
263263type OrderItem = Hash<Symbol, ProductId | Quantity | Price>
264- type Order = Hash<Symbol, OrderId | CustomerId | Array< OrderItem> | String>
264+ type Order = Hash<Symbol, OrderId | CustomerId | OrderItem[] | String>
265265
266266# Using domain types
267- def create_order(customer_id: CustomerId, items: Array< OrderItem> ): Order
267+ def create_order(customer_id: CustomerId, items: OrderItem[] ): Order
268268 {
269269 id: generate_order_id(),
270270 customer_id: customer_id,
@@ -273,7 +273,7 @@ def create_order(customer_id: CustomerId, items: Array<OrderItem>): Order
273273 }
274274end
275275
276- def calculate_total(items: Array< OrderItem> ): Price
276+ def calculate_total(items: OrderItem[] ): Price
277277 items.reduce(0.0) { |sum, item| sum + item[:price] * item[:quantity] }
278278end
279279```
@@ -356,15 +356,15 @@ type Supplier<T> = Proc<T>
356356type Comparator<T> = Proc<T, T, Integer>
357357
358358# Using function types
359- def filter<T>(array: Array<T> , predicate: Predicate<T>): Array<T>
359+ def filter<T>(array: T[] , predicate: Predicate<T>): T[]
360360 array.select { |item| predicate.call(item) }
361361end
362362
363- def map<T, U>(array: Array<T> , mapper: Mapper<T, U>): Array<U>
363+ def map<T, U>(array: T[] , mapper: Mapper<T, U>): U[]
364364 array.map { |item| mapper.call(item) }
365365end
366366
367- def for_each<T>(array: Array<T> , consumer: Consumer<T>): void
367+ def for_each<T>(array: T[] , consumer: Consumer<T>): void
368368 array.each { |item| consumer.call(item) }
369369end
370370
@@ -426,7 +426,7 @@ In the future, T-Ruby will support recursive type aliases for tree structures an
426426# Tree structure
427427type TreeNode<T> = {
428428 value: T,
429- children: Array< TreeNode<T>>
429+ children: TreeNode<T>[]
430430}
431431
432432# Linked list
0 commit comments