Re[16]: понимание ООП Алана Кея
От: korvin_  
Дата: 29.03.23 09:24
Оценка:
Здравствуйте, Sinclair, Вы писали:


S>Методы гораздо удобнее выстраивать в цепочку. Запись вида list.add(1).add(2).add(42) читать гораздо комфортнее, чем add(add(add(list, 1), 2), 42))).

S>Но это дело вкуса. Покажите, как вы будете реализовывать внешний метод add.

Вариант №1:

let add x xs = List.append xs [x]
 
let () =
  let xs = [] in
  let xs = xs |> add 1 |> add 2 |> add 42 in
  printfn "%A\n" xs

=>

Вариант №2:

let (++) xs x = List.append xs [x]
 
let () =
  let xs = [9000] in
  let xs = xs ++ 1 ++ 2 ++ 42 in
  printfn "%A\n" xs


=>

[1; 2; 42]
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.