ぜのぜ

しりとりしようぜのぜのぜのぜ

2021-08-01から1ヶ月間の記事一覧

78日目

日記 食パンよりこの前焼いたパンのほうが美味しいのでいい. 今日書いたコード https://docs.swift.org/swift-book/LanguageGuide/Generics.html struct Stack<Element> { var items: [Element] = [] mutating func push(_ item: Element) { items.append(item) } mu</element>…

77日目

日記 今日スーパーに行ったら枝付きの枝豆を売っていたのでさっき茹でた.うまかったが,冷凍のほうが単価安いんだろうなと思うと悲しくなったしその価値観にも悲しくなった. 今日書いたコード import Foundation protocol Hoge { associatedtype FirstCons…

Edge.Setが気になったので再現してみた

SwiftUIにはpadding(_ edges: Edge.Set, _ length: CGFloat?)というmodifierがあって,これは第一引数にパディングを適用したい辺を渡せる.その引数は以下のように書けて便利なんだけど,Quick Helpを見るとどちらもpadding(_:_:)を呼んでいるみたいで不思…

76日目 丁寧な暮らし

日記 今日は例のピザ窯でチャバタを焼いた. 結構上手く焼けたんじゃないか? pic.twitter.com/Hb7hxLmQex— ぐり (@Gurrium) August 28, 2021 今日書いたコード https://docs.swift.org/swift-book/LanguageGuide/Protocols.html import Foundation @objc pr…

75日目

日記 お腹すいた 今日書いたコード https://docs.swift.org/swift-book/LanguageGuide/Protocols.html protocol Named { var name: String { get } } class Location { var latitude: Double var longitude: Double init(latitude: Double, longitude: Doubl…

74日目

日記 買い物に行ってえらい. 今日書いたコード struct Hoge: CustomStringConvertible { var description: String = "hoge" } let arr: [CustomStringConvertible] = [1, 1.0, "a", Hoge()] for e in arr { print(e) } 1 1.0 a hoge 初めて知ったこと 初め…

73日目

日記 弊社は産業医の先生がいてたまに話せるんだけど,今日気になることがあったので診てもらった.会社員万歳. 今日書いたコード protocol SomeDelegate: AnyObject { var some: String { get } } // Non-class type 'Kome' cannot conform to class proto…

72日目

日記 WoTのイベントチケットで何買おうか迷ってたらイベント終わってた 今日書いたコード import Foundation protocol RandomNumberGenerator { func random() -> Double } // https://docs.swift.org/swift-book/LanguageGuide/Protocols.html class Linear…

71日目

日記 カレーはあんまりうまくできなかった. 今日書いたコード protocol Togglable { mutating func toggle() } enum OnOffSwitch: Togglable { case off, on mutating func toggle() { switch self { case .off: self = .on case .on: self = .off } } } va…

70日目

日記 今日はカレーにした.カレーが食べたかったので. 今日書いたコード 今日はExtensionsの章だったが,例としてIntにsubscriptを追加するコードがあった.digitIndexに19以上のIntを渡すとランタイムエラーが起きたのでなにごと!?と思ったが単に1010が6…

69日目

日記 例の放送が最近なさすぎてもはやつらくもなくなってきた.とはいえあったらいいなと思いつつ今日も待っている. 今日書いたコード struct OuterStruct { struct InnerStruct { let some: String } actor InnerActor { let immutable = "immutable" } le…

68日目

日記 なし 今日書いたコード 今日はType Castingの章を読んだ var things: [Any] = [] things.append(0) things.append(0.0) things.append(42) things.append(3.14159) things.append("hello") things.append((3.0, 5.0)) things.append({ (name: String) -…

67日目

日記 コピペの修正漏れっぽい箇所があってOSSチャンス!と思ったがswift-bookはOSSじゃないっぽい?誰か知ってたら僕の代わりに直してくれ. 今日書いたコード import Foundation import _Concurrency protocol HogeRequirements { var hoge: String { get }…

66日目

日記 レバニラうまかった 今日書いたコード import Foundation import _Concurrency struct Photo {} func uploadThumbail(_ thumbnail: Photo) async { print("uploadThumbnail started") await Task.sleep(2 * 1_000_000_000) print("uploadThumbnail ende…

65日目

structured concurrency concurrentに走るTaskが構造化されているからstructured concurrencyと呼ぶらしい. import Foundation import _Concurrency struct Photo {} func downloadPhoto(named: String) async -> Photo { await Task.sleep(2 * 1_000_000_0…

64日目

日記 コンビニのご飯って少ないよね 今日書いたコード playgroundでは動かないらしい import Foundation import _Concurrency struct Photo {} func downloadPhoto(named: String) async -> Photo { await Task.sleep(2 * 1_000_000_000) return Photo() } T…

63日目

Asynchronous Sequences 配列全体をasyncに取得することができるのは前回書いたが,各要素をasyncに取得することもできる. import Foundation let handle = FileHandle.standardInput for try await line in handle.bytes.lines { print(line) } そういえば…

62日目

Concurrency Asynchronous code(非同期なコード)は途中で実行が止められたり,後で再開されたりするが,一度に実行されるコードは一つだけである.Parallel code(並列なコード)は同時に複数のコードが実行される.Concurrencyの章ではこれらのコードの組み合…

61日目

日記 今日は疲れた.仕事って難しいね. 今日書いたコード struct DummyError: Error {} let closureCanThrow = { defer { print("first defer") } defer { print("second defer") } if Bool.random() { print("throws DummyError") throw DummyError() } pr…

Swiftでクリップボードに文字列をコピーする(AppKitの場合

Appleとしてはペーストボードと呼びたいらしい. NSPasteboardを使う.なにか書き込む前にclearContents ()を呼ぶのがポイント.なぜならドキュメントにそう書いてあるから. Clears the existing contents of the pasteboard, preparing it for new content…

SwiftUIでステータスバーにメニューを追加する.NSApplicationDelegateを使う.

さて,こすりまくったEmojiGachaネタもこれで打ち止めです.今日はステータスバーにメニューを追加する話をする. NSApplicationDelegateをSwiftUIで使う ステータスバーにメニューを追加するのはSwiftUIの世界だけでは不可能っぽかったので,AppKitの世界と…

SwiftUIでメニューを追加する

アプリ作るにあたって使ったシリーズ.今回はメニューバーに表示されているアプリ固有のメニューを追加する方法. 使い方 新しくメニューを作りたいときはCommandMenuを,既存のメニューに追加したいときはCommandGroupを使う. このコードだと画像のように…

絵文字ガチャできるアプリを作りました

github.com EmojiGacha 無愛想に見えるからって!をつけすぎると文面がうるさくなるのでこれからは絵文字を使いましょう!!!!! 使い方 スペースキーでガチャが回せます ガチャの結果がクリップボードにコピーされます 履歴の絵文字をクリックしてもコピ…

SwiftUIでキーボードショートカットを追加する

今日使ったので書く.これから数日は今回のアプリでやったことを小出しにできそう. 使い方 SwiftUIでキーボードショートカットを追加したいときはkeyboardShortcut(_ key: KeyEquivalent, modifiers: EventModifiers = .command)というmodifierを使う. 例…

60日目

GitHubのコメントに絵文字がついてると面白いので作っている. github.com ランダムで絵文字を表示するのとそれをクリップボードにコピーする機能まではできた.もうちょっと欲しい機能を追加して3連休中には配布したい.あと絵文字をenumの値として扱えると…

59日目

日記 途中まで書いたけどこんなの読めばわかるやんってなって一気にやる気が無くなった.読むだけではわからないことがなにかを知るためには別の角度から同じテーマを扱う,もしくはそうしているものを読むしかないなとこの文を書いていて思った. ような重…

58日目

日記 なし 今日書いたコード struct Hoge { let nonOptional: String let optional: String? } let hoge: Hoge? = Hoge(nonOptional: "some", optional: nil) print(type(of: hoge?.nonOptional)) // Optional<String> print(type(of: hoge?.optional)) // Optional<String> </string></string>…

57日目

日記 最近起きてすぐの眠気がすごい. 今日書いたコード let hoge: String (hoge = "hoge") == () ? "T" : "F" // "T" 初めて知ったこと 代入式はVoidに評価される. optional chainingでプロパティに代入しようとしたときの全体を評価した結果はVoid?型にな…

56日目

日記 洋風の炒めもののレパートリーがほしいなと思う今日このごろです. 今日書いたコード class Sup { deinit { print("deinit Sup") } } class Sub: Sup {} class SubSub: Sub { deinit { print("deinit SubSub") } } SubSub() // deinit SubSub // deinit…

55日目

日記 きょうはよくなかった 今日書いたコード struct Chessboard { let boardColors: [Bool] = { var temporaryBoard: [Bool] = [] var isBlack = false for i in 1...8 { for j in 1...8 { temporaryBoard.append(isBlack) isBlack = !isBlack } isBlack = …