class Score
def initialize(subject, score)
@subject = subject
@score = score
end
def get_info
"#{@subject}/#{@score} -> #{get_result}"
end
private
def get_result
@score >= 80 ? "Pass" : "Fail"
end
end
class MathScore < Score
def initialize(score)
super("Math", score)
end
private
# ovierride
def get_result
@score >= 50 ? "Pass" : "Fail"
end
end
class EnglishScore < Score
def initialize(score)
super("English", score)
end
end
class User
def initialize(name, score)
@name = name
@score = score
end
def get_info
"Name: #{@name}, Score: #{@score.get_info}"
end
end
user1 = User.new("Taro", MathScore.new(70))
user2 = User.new("Jiro", EnglishScore.new(90))
puts user1.get_info
puts user2.get_info
月: 2024年3月
ruby 子クラス
class Score
def initialize(subject, score)
@subject = subject
@score = score
end
def get_info
"#{@subject}/#{@score} -> #{get_result}"
end
private
def get_result
@score >=80 ? "Pass" : "Fail"
end
end
class MathScore < Score
def initialize(score)
super("Math", score)
end
end
class EnglishScore < Score
def initialize(score)
super("Math", score)
end
end
class User
def initialize(name, score)
@name = name
@score = score
end
def get_info
"Name: #{@name}, Score: #{@score.get_info}"
end
end
user1 = User.new("Taro", MathScore.new(70))
user2 = User.new("Jiro", EnglishScore.new(90))
puts user1.get_info
puts user2.get_info
C# string型とchar型
using System;
class string01
{
public static void Main()
{
char[] chararray = new char[3];
chararray[0] = 'a';
chararray[1] = 'b';
chararray[2] = 'c';
string str;
str = new string(chararray);
Console.WriteLine(str);
char[] title = { '魔', '王', 'と', '勇', '者'};
string strTitle = new string(title);
Console.WriteLine(strTitle);
string strx = "魔王と勇者の伝説";
int n = strx.Length;
Console.WriteLine("「{0}」の文字数は{1}です", strx, n);
char c = strx[1];
Console.WriteLine("「{0}」の2番目の文字は「{1}」です", strx, c);
}
}
python 簡単な会話モデルの構築
from nltk.chat.util import Chat, reflections
pairs = [
[‘こんにちは’, [‘こんにちは!’, ‘どうもこんにちは!’]],
[‘元気ですか?’, [‘はい、元気です!’, ‘お尋ねいただきありがとうございます。’]],
[‘名前は何ですか?’, [‘私はチャットボットです。’, ‘私の名前はチャットボットです。’]],
[‘さようなら’, [‘さようなら!またね。’, ‘良い一日を!’]],
]
chatbot = Chat(pairs, reflections)
def chatbot_response(user_input):
return chatbot.respond(user_input)
ユーザーとの対話
while True:
user_input = input(“あなた: “)
response = chatbot_response(user_input)
print(“チャットボット:”, response)
C# 配列
using System;
class array01
{
public static void Main()
{
int[] Weapon = new int[3];
Weapon[0] = 10;
Weapon[1] = 20;
Weapon[2] = 30;
// 宣言と同時に初期化
int[] myarray2 = new int[3] { 10, 20, 30 };
// 要素数を省略することも可能
int[] myarray3 = new int[] { 10, 20, 30 };
//別な方法
int[] myarray4;
myarray4 = new int[] { 10, 20, 30 };
}
}
ruby メソッドを実装
class Score
def initialize(subject, score)
@subject = subject
@score = score
end
def get_info
"#{@subject}/#{@score}"
end
end
class User
def initialize(name, score)
@name = name
@score = score
end
def get_info
"Name: #{@name}, Score: #{@score.get_info}"
end
end
user1 = User.new("Taro", Score.new("Math", 70))
user2 = User.new("Jiro", Score.new("English", 90))
puts user1.get_info
puts user2.get_info
ruby rssserver
require ‘cgi’
require ‘rss’
require ‘net/http’
def parse(page_source)
dates = page_source.scan(%r!(\d+)年 ?(\d+)月 ?(\d+)日
!).map { |year, month, day| [year.to_i, month.to_i, day.to_i] }
url_titles = page_source.scan(%r!^(.+?)
!).map { |url, title| [CGI.unescapeHTML(url), CGI.unescapeHTML(title)] }
url_titles.zip(dates).map { |(url, title), date| [url, title, Time.local(*date)] }
end
def format_text(title, url, url_title_time_ary)
text = “Title: #{title}\nURL: #{url}\n\n”
url_title_time_ary.each do |aurl, atitle, atime|
text << “* (#{atime})#{atitle}\n”
text << ” #{aurl}\n”
end
text
end
def format_rss(title, url, url_title_time_ary)
RSS::Maker.make(“2.0”) do |maker|
maker.channel.updated = Time.now.to_s
maker.channel.link = url
maker.channel.title = title
maker.channel.description = title
url_title_time_ary.each do |aurl, atitle, atime|
maker.items.new_item do |item|
item.link = aurl
item.title = atitle
item.updated = atime
item.description = atitle
end
end
end
end
uri = URI(“http://crawler.sbcr.jp/samplepage.html”)
response = Net::HTTP.get_response(uri)
parsed = parse(response.body.force_encoding(“UTF-8”))
formatter = case ARGV.first
when “rss-output”
:format_rss
else
:format_text
end
puts send(formatter, “WWW.SBCR.JP トピックス”, “http://crawler.sbcr.jp/samplepage.html”, parsed)
Ruby RSS
require 'rss'
require 'open-uri'
# RSSフィードのURL
rss_url = 'http://2ch-ranking.net/rss/livemarket1.rdf'
# RSSフィードを取得してパース
rss_content = URI.open(rss_url).read
rss = RSS::Parser.parse(rss_content)
# フィードのタイトルと記事を出力
puts "フィードのタイトル: #{rss.channel.title}"
puts "-----"
rss.items.each do |item|
puts "タイトル: #{item.title}"
puts "リンク: #{item.link}"
puts "概要: #{item.description}"
puts "-----"
end
Ruby入門 クラス編
class Score
def initialize(subject, score)
@subject = subject
@score = score
end
end
class User
def initialize(name, score)
@name = name
@score = score
end
end
user1 = User.new("Taro", Score.new("Math", 70))
user2 = User.new("Jiro", Score.new("English", 90))
ruby クラスメソッド
class User
@@count = 0
def initialize(name, score)
@name = name
@score = score
@@count += 1
end
def get_info
"Name: #{@name}, Score: #{@score}"
end
def self.get_info
"Count: #{@@count}"
end
end
# count = 0
user1 = User.new("Taro", 70)
# count += 1
user2 = User.new("Jiro", 90)
# count += 1
# puts count
puts User.get_info