CPPLASTIC Telegram 351
Останнім часом дуже пізно прокидаюся, тож в AoC-лідербордах (навіть у моєму власному 4272620-3487bc2a) у мене шансів небагато. Сьогодні ж прокинувся, бо почув, як кіт десь блює 😺🤮. А потім дивлюся на годинник — майже сьома 🕖

Короч попри те, що поспав менше чотирьох годин, не втримався та сів глянути, що за задачки. Писав на Swift 🕊 — і це мій перший досвід. Мова сама по собі непогана, хоча й не сказати, що я побачив там якісь прям дуже свіжі ідеї — радше це доволі приємна комбінація вже існуючих. Синтаксисом чогось місцями дуже нагадала C#, тільки без зайвих символів типу крапки з комою та дужок, де не треба. Є опціональні типи (aka монада Maybe), які вбудовані прямо в мову, є класи, структури, енами, актори, є зіставлення з шаблоном тощо. Ну короч доволі приємна для написання мова.

Вибрав її, бо хотів згодом спробувати нею під мікроконтролери щось написати: від сішки ригаю, C++ замахав — хочеться вже щось для душі, тільки б не Python.

Що не сподобалося — повідомлення про помилки. Ну тобто круто, що компілятор багато всього перевіряє, а потім тобі ще й пише, от тільки пише він забагато хуйні. Каже мені, мовляв, не можу викликати функцію з такими параметрами, бо там типи отакі, а воно очікує інші. А потім ще простирадло тексту про те, як він намагався інші варіанти функції підібрати, але нічого не спрацювало — прям як вивід про помилки з шаблонами в C++, їй-богу. Або ще дивіться:
Building for debugging...
error: emit-module command failed with exit code 1 (use -v to see invocation)
~/aoc2024/day4/Sources/day4/main.swift:159:79: error: extra argument 'encoding' in call
if let example = try? String(contentsOfFile: "data/task1.example", encoding: .utf8) {
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~
~/aoc2024/day4/Sources/day4/main.swift:159:79: error: cannot infer contextual base in reference to member 'utf8'
if let example = try? String(contentsOfFile: "data/task1.example", encoding: .utf8) {
~^~~~
error: fatalError

Кричить на мене прям страшними словами. Виявляється, що не вистачало import Foundation на початку, але компілятор мені з цим не підказав.

За годину часу, звісно, я повністю мову не відчув. Треба погратися з корутинами хоча б та подивитися, що там ще є. Але задачки для Advent of Code я розвʼязав, а в кінці ще й встиг на стрім пана Соловйова, де він бився з маніпуляціями зі списками в кложі 😆 Я у себе в першій задачі просто ту матрицю потранспоузив туди-сюди, «згенерив блядські діагоналі» © — та й потому. Хоча мушу визнати, що з діагоналями копайлот трохи допоміг, а то я знудився вже міркувати, як ті індекси кляті там крутити. Друга задачка була цікавіша, але легша. Тупо захардкодив у себе індекси знов, хоча варто було б там зробити нормальний пошук 2D-патерна в матриці.

Поки що підсумок такий, що, мабуть, затримаюсь я зі свіфтом ще трохи на погратися. Щось у ньому є все ж.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍62



tgoop.com/cpplastic/351
Create:
Last Update:

Останнім часом дуже пізно прокидаюся, тож в AoC-лідербордах (навіть у моєму власному 4272620-3487bc2a) у мене шансів небагато. Сьогодні ж прокинувся, бо почув, як кіт десь блює 😺🤮. А потім дивлюся на годинник — майже сьома 🕖

Короч попри те, що поспав менше чотирьох годин, не втримався та сів глянути, що за задачки. Писав на Swift 🕊 — і це мій перший досвід. Мова сама по собі непогана, хоча й не сказати, що я побачив там якісь прям дуже свіжі ідеї — радше це доволі приємна комбінація вже існуючих. Синтаксисом чогось місцями дуже нагадала C#, тільки без зайвих символів типу крапки з комою та дужок, де не треба. Є опціональні типи (aka монада Maybe), які вбудовані прямо в мову, є класи, структури, енами, актори, є зіставлення з шаблоном тощо. Ну короч доволі приємна для написання мова.

Вибрав її, бо хотів згодом спробувати нею під мікроконтролери щось написати: від сішки ригаю, C++ замахав — хочеться вже щось для душі, тільки б не Python.

Що не сподобалося — повідомлення про помилки. Ну тобто круто, що компілятор багато всього перевіряє, а потім тобі ще й пише, от тільки пише він забагато хуйні. Каже мені, мовляв, не можу викликати функцію з такими параметрами, бо там типи отакі, а воно очікує інші. А потім ще простирадло тексту про те, як він намагався інші варіанти функції підібрати, але нічого не спрацювало — прям як вивід про помилки з шаблонами в C++, їй-богу. Або ще дивіться:

Building for debugging...
error: emit-module command failed with exit code 1 (use -v to see invocation)
~/aoc2024/day4/Sources/day4/main.swift:159:79: error: extra argument 'encoding' in call
if let example = try? String(contentsOfFile: "data/task1.example", encoding: .utf8) {
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~
~/aoc2024/day4/Sources/day4/main.swift:159:79: error: cannot infer contextual base in reference to member 'utf8'
if let example = try? String(contentsOfFile: "data/task1.example", encoding: .utf8) {
~^~~~
error: fatalError

Кричить на мене прям страшними словами. Виявляється, що не вистачало import Foundation на початку, але компілятор мені з цим не підказав.

За годину часу, звісно, я повністю мову не відчув. Треба погратися з корутинами хоча б та подивитися, що там ще є. Але задачки для Advent of Code я розвʼязав, а в кінці ще й встиг на стрім пана Соловйова, де він бився з маніпуляціями зі списками в кложі 😆 Я у себе в першій задачі просто ту матрицю потранспоузив туди-сюди, «згенерив блядські діагоналі» © — та й потому. Хоча мушу визнати, що з діагоналями копайлот трохи допоміг, а то я знудився вже міркувати, як ті індекси кляті там крутити. Друга задачка була цікавіша, але легша. Тупо захардкодив у себе індекси знов, хоча варто було б там зробити нормальний пошук 2D-патерна в матриці.

Поки що підсумок такий, що, мабуть, затримаюсь я зі свіфтом ще трохи на погратися. Щось у ньому є все ж.

BY Cіпласпластик


Share with your friend now:
tgoop.com/cpplastic/351

View MORE
Open in Telegram


Telegram News

Date: |

ZDNET RECOMMENDS Judge Hui described Ng as inciting others to “commit a massacre” with three posts teaching people to make “toxic chlorine gas bombs,” target police stations, police quarters and the city’s metro stations. This offence was “rather serious,” the court said. How to create a business channel on Telegram? (Tutorial) Just as the Bitcoin turmoil continues, crypto traders have taken to Telegram to voice their feelings. Crypto investors can reduce their anxiety about losses by joining the “Bear Market Screaming Therapy Group” on Telegram. Telegram iOS app: In the “Chats” tab, click the new message icon in the right upper corner. Select “New Channel.”
from us


Telegram Cіпласпластик
FROM American