[kotlin] printやprintlnで表示される内容をカスタマイズする

kotlinで自分で作ったクラスのprintprintlnを使った時、表示される内容を独自のものに置き換える方法のメモ

class MyClass(arg1:Int) {
  var member1:Int = arg1
  
  override fun toString() : String {
      return "MyClass(member1: ${this.member1})"
  }
}

シンプルに、toString()メソッドをオーバーライドしてあげるだけ。

[Swift] コマンドラインからパッケージを作る

Swiftのパッケージをコマンドラインから作成するときのメモ

環境

Mac OS 10.14.5
Xcode Version 10.2.1

パッケージの初期化

  1. 作成したいパッケージの名前のディレクトリを作成
  2. 作成したディレクトリの中に移動
  3. パッケージの初期化

今回は、パッケージ名をexampleとしてみます。

pod updateが正常に実行できない

環境

MacOS 10.14.5
CocoaPods 1.7.4

アップデートできない

既存のiOSアプリのプロジェクトのビルドターゲットを少し変更したので改めて、pod updateを実行してみたところ以下のエラーが出て正常にアップデートを実行できなかった。

Swiftでの改行( )の扱いでハマったこと

先日、とある事情からSwiftで文字列の処理を書いていました。

その中で盛大にハマった事があったので忘れないようにメモ。

環境

Swift 5.0.1

改行

ここで取り扱う改行というのは以下の三つを指します。

pyenvをアップデートしたらlibexec/pyenv: No such file or directoryとか言われた話

環境

macOS 10.14.3
pyenv 1.2.11

本題

ある時、気が向いて

$ brew upgrade

を実行したらpyenvのバージョンが上がった。

その直後、

$ python

としたら、

Users/username/.pyenv/shims/python: line 21: /usr/local/Cellar/pyenv/1.2.11/libexec/pyenv: No such file or directory

というエラーメッセージが表示された。

[python] ループの最後を判定する小技

ループの最後の一回だけ別の処理がしたい!
なんていうよくある願いを簡単に叶えてくれる、ループの最後の一回を判定する小技のご紹介

最後の一回を取得する

def lastone(iterable):
    """与えられたイテレータブルオブジェクトの
    最後の一つの要素の時にTrue、それ以外の時にFalseを返す
    """
    # イテレータを取得して最初の値を取得する
    it = iter(iterable)
    last = next(it)
    # 2番目の値から開始して反復子を使い果たすまで実行
    for val in it:
        # 一つ前の値を返す
        yield last, False
        last = val # 値の更新
    # 最後の一つ
    yield last, True

利用例


for i, is_last in lastone(range(5)):
    print(i, is_last)

# 0, False
# 1, False
# 2, False
# 3, False
# 4, True

pythonの論理式が真偽値以外も返す話

論理式が真偽値以外の結果を返却してくる不思議な構文のお話です。

何が入っているでしょう?

早速ですが、次のプログラムを実行したときvalueには何が入っているでしょう?

value = False or True

正解

正解はTrueです。

[Python]クラスってなんだろう

最近よく耳にするオブジェクト指向プログラミング

オブジェクトって何?それメリットあんの?

そう思う方も多いことでしょう。

Python3を利用する場合、どんな使い方ができるのかを例にあげながら解説します。